【问题标题】:How to create a directory anywhere in Java?如何在 Java 中的任何位置创建目录?
【发布时间】:2012-05-09 18:39:30
【问题描述】:

如何使用 Java 在硬盘上的任意位置创建目录?例如,我想在计算机的主文件夹中创建一个文件夹。如果我使用此代码:

File file = new File("~/test");
if (!file.exists()) {
  try {
    folder.mkdirs();
  } catch(Exception e) {
    JOptionPane.showMessageDialog(null, "There was an error: \n"+e, "Error!", 1);
  }
}

它在我的项目所在的目录中创建一个名为“~”的文件夹和一个名为“test”的文件夹。

如何让 Java 在我的主文件夹中创建文件夹?

谢谢!

【问题讨论】:

  • ~ 不会被大多数(任何?)Java API 扩展。
  • ~ 由 shell 解析(例如 Bash)。您需要使用/home/xyz/test

标签: java file io directory


【解决方案1】:

可以通过获取system property“user.home”获取用户目录路径

System.getProperty("user.home");

【讨论】:

  • 是的,这是属性的想法,允许操作系统可移植性。
  • 如果路径以“/”开头,Java 是否会将其作为目录的绝对路径?
  • 在 unix 中,是的。没有在 Windows 上尝试过,但我想你会得到 FileNotFound 异常
  • 在 Windows 上,如果我以 "C:\\" 开头的路径,它将把它作为绝对路径?
  • 是的,d:\\ 等也是如此。
【解决方案2】:

~ 由 shell(例如 Bash)解析,而不是由 Java(AFAIK)解析。您需要使用/home/xyz/test

【讨论】:

  • 所以如果我以“/”开头的路径,Java 会将其作为目录的绝对路径?
猜你喜欢
  • 2011-04-07
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-02
  • 2021-04-21
相关资源
最近更新 更多