获取路径/文件名的路径,但文件没有扩展名

时间:2013-02-07 09:23:37

标签: java path

我可以使用以下文件名:

/ somepath /文件

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

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

5 个答案:

答案 0 :(得分:2)

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

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

    file.getCanonicalPath();

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

答案 1 :(得分:2)

使用Java SE 7:

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

Path parentPath = path.getParent();

修改

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

答案 2 :(得分:0)

使用lastIndexOf()substring()

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

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

System.out.println(fileObj.getParent());

答案 3 :(得分:0)

在班级getName()中尝试使用File方法。

答案 4 :(得分:0)

使用getParent()

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

这会给你“/ somepath”。