加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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";

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

解决方法

编辑:鉴于评论,我应该澄清.这绝对取决于背景.你想做什么?如果您尝试以“本机”操作系统格式创建文件路径,我将使用选项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来获取规范表示,如果您愿意,可以使用反斜杠而不是正斜杠.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读