我可以有以下带有路径的文件名:
/somepath/文件
该文件没有扩展名,因此在 Java 中 getPath 最终返回整个路径和文件名。假设路径/文件名中的最后一件事始终是文件名,我该如何提取路径?最简单的解决方案就是寻找最后一个正斜杠。但是有一个内置的 API 可以得到它吗?
编辑:错误。我的意思是如何提取路径(而不是文件名)。对不起。
使用 Java SE 7:
Path path = Paths.get("/somepath/file");
String fileName = path.getFileName().toString();
Path parentPath = path.getParent();
编辑:
注意:根据您的操作,请考虑不要对根目录(此处:“/”)和分隔符(此处:“/”)进行硬编码,并确保代码与平台无关。
File file = new File("/somepath/file");
file.getName();
编辑:如果你想要路径试试这个
file.getCanonicalPath();
您也可以使用文件对象的属性来提取各种类型的文件相关数据。
使用 getParent()
File file = new File("/somepath/file");
file.getParent();
这会给你“/somepath”回来。
使用lastIndexOf()
和substring()
System.out.println(fileObj.getPath().substring(0, f.getPath().lastIndexOf("/"));
编辑:刚刚发现存在,getParent()
它将直接为您提供该文件的目录。
System.out.println(fileObj.getParent());
在课堂上尝试getName()
方法File
。