1

我可以有以下带有路径的文件名:

/somepath/文件

该文件没有扩展名,因此在 Java 中 getPath 最终返回整个路径和文件名。假设路径/文件名中的最后一件事始终是文件名,我该如何提取路径?最简单的解决方案就是寻找最后一个正斜杠。但是有一个内置的 API 可以得到它吗?

编辑:错误。我的意思是如何提取路径(而不是文件名)。对不起。

4

5 回答 5

2

使用 Java SE 7:

Path path = Paths.get("/somepath/file");
String fileName = path.getFileName().toString();

Path parentPath = path.getParent();

编辑:

注意:根据您的操作,请考虑不要对根目录(此处:“/”)和分隔符(此处:“/”)进行硬编码,并确保代码与平台无关。

于 2013-02-07T09:38:29.190 回答
2
     File file = new File("/somepath/file");
     file.getName();

编辑:如果你想要路径试试这个

    file.getCanonicalPath();

您也可以使用文件对象的属性来提取各种类型的文件相关数据。

于 2013-02-07T09:28:43.187 回答
0

使用 getParent()

File file = new File("/somepath/file"); file.getParent();

这会给你“/somepath”回来。

于 2013-02-07T09:38:15.750 回答
0

使用lastIndexOf()substring()

System.out.println(fileObj.getPath().substring(0, f.getPath().lastIndexOf("/"));

编辑:刚刚发现存在,getParent()它将直接为您提供该文件的目录。

System.out.println(fileObj.getParent());
于 2013-02-07T09:28:46.163 回答
0

在课堂上尝试getName()方法File

于 2013-02-07T09:29:03.733 回答