给定这样的文件路径:
Path filePath; // "/Users/me/Desktop/archive.zip"
我想要一个函数通过删除文件扩展名将文件路径转换为目录路径,将文件路径视为目录路径。例如。比如:
Path dirPath = asDirectoryPath(filePath); // "/Users/me/Desktop/archive"
我尝试了什么?
好吧,我有一个解决方案,在我看来这有点丑陋:
private Path asDirectoryPath(Path filePath)
{
return Paths.get(path.toString().substring(0, path.toString().lastIndexOf('.')));
}
为什么丑?因为我被迫执行字符串转换路径并搜索“。”符号,假设后面的字符是文件扩展名。这个函数应该是可移植的,并且应该可以在 windows 和 unix 系统中工作。有没有更正确的解决方案?谢谢。
最佳答案
这里可以使用正则表达式和split方法。
path.toString().split("\\.")[0])
关于Java文件路径作为目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51038942/