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
。
当然,可以使用自定义方法(例如正则表达式或简单的字符串处理)来检索驱动器盘符(如果存在),但是 Java 中是否已经实现了任何跨平台方法来执行此操作?
Java
中似乎没有内置的跨平台方法来检索文件的根路径(例如驱动器),因此第三方库或自定义代码是唯一的解决方案。
Apache Commons IO 有一个 FilenameUtils 类,其
getPrefix()
方法完全按照问题要求进行操作。