在 Java 中创建文件时如何在 Mac OS X 中提供文件路径?

How do I provide a file path in Mac OS X while creating a file in Java?

File f = new File("C:\Temp\Example.txt");
f.createNewFile();

执行时,将在 Temp 文件夹中创建一个名为 "Example.txt" 的新文件。如何在 Mac OS X 中提供文件路径?

我尝试提供:

File f = new File("\Users\pavankumar\Desktop\Testing\Java.txt");
f.createNewFile();

但它对我不起作用。

有一个 File.separator 系统相关常量,您应该使用它来为您的 Java 代码提供一些可移植性。

此处必须使用正斜杠“/”获取文件路径。 使用:

File f = new File("/Users/pavankumar/Desktop/Testing/Java.txt");
f.createNewFile();

在 Linux、Mac OS X 和其他 *nix 风格上,文件夹分隔符是 / 而不是 \,所以没有任何需要逃避的东西,some/path/of/folders.

另外,您可以使用 /tmp 文件夹存放临时文件。

最后,在 *nix 系统上,主目录通常由 ~ 表示或在环境变量 HOME.

请使用File.separator独立于OS:

String home = System.getProperty("user.home");
File f = new File(home + File.separator + "Desktop" + File.separator + "Testing" + File.separator + "Java.txt");

或使用org.apache.commons.io.FilenameUtils.normalize:

File f = new File(FileNameUtils.normalize(home + "/Desktop/Testing/Java.txt"));

两者都可以使用(第二个选项需要库)

在Mac OS这是在以下方式工作,请尝试 文件 f = 新文件("/Users/bsingh/Desktop/Write/myTextFile.txt");

对于用户目录中 macos 中的相对文件路径,您可以使用 $Home。