Java - 清理文件路径

时间:2012-04-18 12:45:12

标签: java path

我想清理我在App中使用的路径。路径可以修改,有时我会得到类似的东西:

C:/users/Username/Desktop/\..\..\..\Windows\Web\..\..\Program Files\..\Program Files\..\Python27\

但我希望有类似的东西:

C:\Python27\

这就是一个例子!

如何清理路径以仅获取必要的部分?

感谢。

3 个答案:

答案 0 :(得分:6)

如果fileName是您的文件名字符串,那么类似于:

String cleanedFilename = new File(fileName).getCanonicalPath();

应该这样做......

也是API description

答案 1 :(得分:3)

您可以尝试使用File.getCanonicalPath()方法:

File file = new File("my/init/path");
String path = file.getCanonicalPath();

我还没有测试,请告诉我们!

修改 @MathiasSchwarz是对的,使用getCanonicalPath()而不是getAbsolutePath()(link

答案 2 :(得分:3)

以下是我刚试过的代码。

new File("c:/temp/..").getCanonicalPath();

它返回'C:\',这是对的。 c:/temp的父级确实是c:\