在 Java
中是否有任何内置的跨平台方式来解析 Windows
路径字符串并提取 Windows 的根路径(包括驱动器号)?
根据 Java SE documentation ,可以使用 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()
方法完全符合问题的要求。
关于java - 从 Windows 路径字符串中提取驱动器号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33642543/