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

19
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();

但是对我来说没有起作用。


在 MAC OSX 上工作的任何人请在下面评论。 - Pavan Kumar
6个回答

24

在这里必须使用斜杠"/"来获取文件路径。使用:

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

22

请使用Java内置的File.separator来实现与操作系统无关,像这样:

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

或者使用静态实用方法 FilenameUtils.normalize(来自库和包org.apache.commons.io):

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

两者都可以使用;第二个选项需要外部库Apache Commons IO


啊,是的,没错。System.getProperty("user.home") 应该是正确的。回答已更新。 - Spindizzy
对于最新的commons.io依赖项,它是FilenameUtils.normalize(String filename) - Harshit

4
在Linux、Mac OS X和其他*nix系统中,文件夹分隔符是/而不是\,所以没有必要转义任何内容,some/path/of/folders
此外,您可以使用/tmp文件夹来存储临时文件。
最后,在*nix系统中,主目录通常由~表示或在环境变量HOME中。

3

在Java代码中,有一个系统相关的常量File.separator,你应该使用它来提高你的代码可移植性。


0
在MacOS中,使用$Home可以获取从“Users”目录开始的相对文件路径。

1
你的回答可以通过添加更多的支持性信息来改进。请编辑以添加更多细节,如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心中找到有关撰写好答案的更多信息。 - Community

-1
在Mac OS中,它的工作方式如下,请尝试使用以下代码: File f = new File("/Users/bsingh/Desktop/Write/myTextFile.txt");

1
这已经在其他答案中提到过了。当回答已有答案的旧问题时,请确保您提供的是新颖的解决方案或比现有答案更好的解释。 - Eric Aya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接