File.separator和路径中的斜杠之间的区别
在Java Path-String
中使用File.separator
和普通法/
有什么区别?
与双反斜杠相反,\\
平台独立性似乎不是原因,因为两个版本都可以在Windows和Unix下运行。
public class SlashTest { @Test
public void slash() throws Exception {
File file = new File("src/trials/SlashTest.java");
assertThat(file.exists(), is(true));
}
@Test
public void separator() throws Exception {
File file = new File("src" + File.separator + "trials" + File.separator + "SlashTest.java");
assertThat(file.exists(), is(true));
}
}
换个问题,如果/
可以在Unix和Windows上运行,为什么要使用File.separator
?
回答:
使用用于处理文件的Java库,你可以/
在所有平台上安全地使用(斜杠,而不是反斜杠)。库代码负责在内部将事物转换为特定于平台的路径。
File.separator
但是,你可能要在UI中使用,因为最好向人们展示在他们的OS中有意义的东西,而不是对Java有意义的东西。
更新:经过五分钟的搜索,我一直无法找到记录的“你可以始终使用斜线”行为。现在,我确定我已经看到了它的文档,但是由于找不到正式的参考文献(因为我的记忆力不够强),我坚持使用,File.separator
因为你知道这是可行的。
以上是 File.separator和路径中的斜杠之间的区别 的全部内容, 来源链接: utcz.com/qa/430689.html