我想清理我在App中使用的路径。路径可以修改,有时我会得到类似的东西:
C:/users/Username/Desktop/\..\..\..\Windows\Web\..\..\Program Files\..\Program Files\..\Python27\
但我希望有类似的东西:
C:\Python27\
这就是一个例子!
如何清理路径以仅获取必要的部分?
感谢。
答案 0 :(得分:6)
如果fileName
是您的文件名字符串,那么类似于:
String cleanedFilename = new File(fileName).getCanonicalPath();
应该这样做......
答案 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:\