Java文件路径最佳实践
发布时间:2020-12-15 05:00:43 所属栏目:Java 来源:网络整理
导读:如果操作系统是 Windows,下面给出的哪一个是 Java编写的最佳方法? 1) String f = "somepathfile.ext"; ? 2) String f = "some/path/file.ext"; ? 3) String f = "some"+File.separator+"path"+File.separator+"file.ext"; ? 4) String f = new StringBu
如果操作系统是
Windows,下面给出的哪一个是
Java编写的最佳方法?
1) String f = "somepathfile.ext"; ? String f = "some/path/file.ext"; ? String f = "some"+File.separator+"path"+File.separator+"file.ext"; ? String f = new StringBuilder("some").append(File.separator).append("path").append(File.separator).append("file.ext").toString(); 解决方法
编辑:鉴于评论,我应该澄清.这绝对取决于背景.你想做什么?如果您尝试以“本机”操作系统格式创建文件路径,我将使用选项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等的东西,那么我可能只是对正斜杠进行硬编码,原因有两个: >它们比反斜杠更容易阅读 无论哪种方式,我可能仍会创建一个文件,因为它给值更清晰. Java中的大多数IO API在适当的地方接受文件 – 并且它使周围的所有代码显而易见,这是一个文件路径.所以你可以使用: File file = new FIle("some/path/file.ext"); ……这仍然适用于Windows.然后,您可以使用File.getCanonicalFile来获取规范表示,如果您愿意,可以使用反斜杠而不是正斜杠. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |