gpt4 book ai didi

Java 文件路径最佳实践

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:12 25 4
gpt4 key购买 nike

如果操作系统是 Windows,下面给出的哪个是用 Java 编码的最佳方法?

1)

 String f = "some\\path\\file.ext"; 
2)
 String f = "some/path/file.ext"; 
3)
  String f = "some"+File.separator+"path"+File.separator+"file.ext"; 
4)
 String f = new StringBuilder("some").append(File.separator).append("path").append(File.separator).append("file.ext").toString(); 

最佳答案

编辑:鉴于评论,我应该澄清一下。这绝对取决于上下文。你想做什么?如果您尝试以“ native ”操作系统格式创建文件路径,我会使用选项 5,使用 File :

File f = new File("some");
f = new File(f, "path");
f = new File(f, "file.ext");

或者更好的是,将此逻辑放入一个方法中:

public static File newFile(String root, String... parts) {
// TODO: Check that nothing's null (root, parts, each element of parts)
File ret = new File(root);
for (String part : parts) {
ret = new File(ret, part);
}
return ret;
}

然后你可以调用它:

File f = SomeUtilityClass.newFile("some", "path", "file.ext");

(这可能存在于最近的 JRE 中的某处,但如果是的话我不知道在哪里。)

如果您只需要适用于 FileInputStream 等的东西,那么我可能只是对正斜杠进行硬编码,原因有二:

  • 它们比反斜杠更容易阅读
  • 他们也可以在其他操作系统上工作

无论哪种方式,我可能仍会创建一个 File,因为它为值提供了更清晰的含义。 Java 中的大多数 IO API 都在适当的地方接受 File - 并且它使它周围的所有代码都清楚这文件路径。所以你可以使用:

File file = new FIle("some/path/file.ext");

... 这在 Windows 上仍然有效。然后,您可以使用 File.getCanonicalFile 获取规范表示,如果需要,它可以使用反斜杠而不是正斜杠。

关于Java 文件路径最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com