在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。
在windows中的文件分隔符是" \ "和" /"都可以,但是在Linux中,文件分隔符只能是"/"。
而java.io.File.separator是系统默认的文件分割符号,屏蔽了这些系统的区别。用File.separator保证了在任何系统下不会出错。
例如:
说要在tmp目录下建立一个test.txt文件
在Windows下应该这么写:
File file1 = new File ("C:\tmp\test.txt"); 或者 File file2 = new File ("C:/tmp/test.txt");
在Linux下则是这样的:
File file2 = new File ("C:/tmp/test.txt");
如果要考虑跨平台,则最好是这么写:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");