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()
方法正是这个问题所要求的。