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

回到顶部