【问题标题】:Default FileSystem location默认文件系统位置
【发布时间】:2013-07-18 03:37:46
【问题描述】:

Java 中有一个默认(文件系统?)位置。

例如当您实例化 JFileChooser 而不指定要在哪个文件夹中打开时,它将在该默认位置打开。

我需要将该默认位置作为Path 对象获取(不使用JFileChooser,这样只是为了解释)。

我怎样才能得到它?

【问题讨论】:

标签: java path


【解决方案1】:

您应该能够从System.getProperty("user.home") 创建一个Path,这是用户的主目录

类似...

Path path = FileSystems.getDefault().getPath(System.getProperty("user.home"));

更新

JFileChooser 使用FileSystemView 获取它的“默认”目录

 Path path = FileSystemView.getFileSystemView().getDefaultDirectory().toPath()

同样,你也可以使用...

Path docs = FileSystems.getDefault().getPath(System.getProperty("user.home"), "Documents");
Path myDocs = FileSystems.getDefault().getPath(System.getProperty("user.home"), "My Documents");
Path userHome = FileSystems.getDefault().getPath(System.getProperty("user.home"));

并测试它们是否真的存在

【讨论】:

  • 其实这不是我想要的。我希望它打开我的文档,而不是打开类文件的位置...我希望它打开我的文档...用户主目录,不是程序规模,而是整个操作系统规模...
  • 应该是user.home。您可以查找“我的文档”以查看它是否存在,但请记住,其他操作系统没有“我的文档”文件夹
  • 嗯...我正在尝试将其与 JFileChooser 同步。如果用户打开一个新文档,该文档的路径将被保存,无论它可能是什么。但是,如果用户从头开始创建一个新文档,我需要为该文档保存某种路径,这将是默认的 JFileChooser 路径。 JFileChooser 如何获取它的默认源?
  • 这正是我所需要的。我可以手动访问我的文档,但我希望它独立于平台。 =)
【解决方案2】:

不确定这是否是您要查找的内容... 对于 JFileChooser,默认目录通常是 Windows 上的“我的文档”文件夹,而 Unix 上是用户的主目录。 Source

如果你想要工作目录的路径,那么 CurrentClass.class.getProtectionDomain().getCodeSource().getLocation().getPath()。

【讨论】:

  • "CurrentClass.class.getProtectionDomain().getCodeSource().getLocation().getPath()" - System.getProperty("user.dir") 不会返回同样的东西吗?跨度>
猜你喜欢
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 2015-12-19
  • 2019-04-07
  • 2013-03-18
  • 2012-12-21
  • 2012-08-23
相关资源
最近更新 更多