从 Windows 路径字符串中提取驱动器号

问题描述 投票:0回答:1

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 windows path drive drive-letter
1个回答
1
投票

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

Apache Commons IO 有一个 FilenameUtils 类,其

getPrefix()
方法完全按照问题要求进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.