2

是否有任何内置的跨平台方法Java来解析Windows路径字符串并提取 Windows 的根路径(包括驱动器号)?

根据Java SE 文档,可以使用java.nio.file.Path该类,例如

String path = "C:\\this\\is\\a\\windows\\file path.txt"
Path p = Paths.get(path);
String drive = p.getRoot();

但是,Path对象构造是特定于操作系统的,这意味着如果上面的代码只有在执行时才会返回驱动器号Windows; 否则,它只会返回null.

当然,可以使用自定义方法(例如,正则表达式或简单的字符串处理)来检索驱动器号(如果存在),但是是否有任何跨平台的方式已经在 J​​ava 中实现呢?

4

1 回答 1

1

似乎没有内置的跨平台方式Java来检索文件的根路径(例如,驱动器),因此第三方库或自定义代码是唯一的解决方案。

Apache Commons IO有一个FilenameUtils类,它的getPrefix()方法完全符合问题的要求。

于 2015-11-11T19:24:39.047 回答