假设我的文件路径是“/path/to/file/foo.txt”。我想得到“/ path / to / file”。意味着我想只获取文件夹的路径。
答案 0 :(得分:4)
这应该有效
File file = new File("/path/to/file/foo.txt");
System.out.println(file.getParent());
修改强>
在此处找到相关的Javadoc:File.html#getParent()
答案 1 :(得分:1)
参考帖子:How to get just the parent directory name of a specific file
使用File
's getParentFile()
method和String.lastIndexOf()
检索只是直接父目录。
Mark的评论是比lastIndexOf()
更好的解决方案:
file.getParentFile().getName();
这些解决方案仅在文件具有父文件时有效(例如,通过其中一个文件构造函数创建父文件File
)。如果getParentFile()
为空,则您需要使用lastIndexOf
,或使用Apache Commons' FileNameUtils.getFullPath()
之类的内容:
FilenameUtils.getFullPathNoEndSeparator(file.getAbsolutePath());
=> C:/aaa/bbb/ccc/ddd
保留/删除前缀和尾随分隔符有几种变体。您可以使用相同的FilenameUtils
类从结果中获取名称,使用lastIndexOf
等。
答案 2 :(得分:0)
这样的东西?
File file = new File("/path/to/file/foo.txt");
file.getAbsolutePath();