【发布时间】:2015-06-23 17:10:04
【问题描述】:
如何获取指定文件/文件夹路径的文件分隔符?
在Java中,我们可以写,例如
File f = new File("C:\\MyFolder\\MyText.txt");
请记住,这是一个文件表示形式(文件不必物理存在)。那么给定任何指定的路径,是否有一种方法可以只返回该指定路径的分隔符?
来自docs
File.pathSeparator 和 File.pathSeparatorChar 返回系统相关文件分隔符,但我想要的是给定路径的分隔符,就像上面的情况 \,即使上面的程序运行并且路径不是对 *nix 有效
【问题讨论】:
-
所有路径都有分隔符
File.separator。 -
也就是说,在 Linux 上,
f是一个完全有效的路径,分隔符为/,指的是当前目录下名为C:\MyFolder\MyTest.txt的文件。 (Linux 上的文件名中允许使用反斜杠) -
我想要那个指定路径的分隔符,而不是依赖于操作系统
-
那么你的程序需要以某种方式跟踪它,
File不会为你做。 -
检查字符串中存在哪一个? (有时也可以接受“c:\folder/file.txt”...所以实际上你最好通过用当前的斜杠替换任何一个斜杠来规范化路径)。
标签: java file operating-system separator