Java文件路径作为目录路径

标签 java file filepath

给定这样的文件路径:

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/

相关文章:

python - 跟踪文件路径和行号

Java 比较 GridLayout 面板上的两个图像/按钮数组

java - Spring-data-jpa EclipseLink 编织实体的问题

java - 使用hibernate将ArrayList设置为java.sql.Blob以保存在DB中很困难

java - 如何从文本文件中删除第一个字符串和逗号

c - c 中的文本文件(int、string、string 和 float)的 fscanf 和 fgets

用于读取文件的 Java 代码未在 VS Code 编辑器上编译

c++ - 将文件保存在 linux 的不同位置

java - 有限制的排列

php - 如何将图像的文件路径转换为实际图像?