现有如下需求:在C盘的tempt文件夹中创建名为“test.txt”的文件可以:
File file = new File("C:\\tempt\\test.txt");也可以
File file = new File("C:/tempt/test.txt");还可以
File file = new File("C: " + File.separator + "tempt"+ File.separator+ "test.txt");那么使用哪一种是最好的呢?答案是第三种,即File file = new File("C: "+ File.separator +"tempt"+ File.separator+"test.txt");因为文件路径的分隔符在windows系统和linux系统中是不一样。考虑跨平台,则最好选用第三种方式
File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。
separatorChar:与系统有关的默认名称分隔符。此字段被初始化为包含系统属性file.separator
值的第一个字符。在 UNIX 系统上,此字段的值为'/'
;在 Microsoft Windows 系统上,它为'\\'
。
separator: 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即separatorChar
。
pathSeparatorChar: 与系统有关的路径分隔符。此字段被初始为包含系统属性path.separator
值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为':'
;在 Microsoft Windows 系统上,它为';'
pathSeparator: 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即pathSeparatorChar
。