我想清理我在应用程序中使用的路径。路径可以修改,有时我会得到类似的东西:
C:/users/Username/Desktop/\..\..\..\Windows\Web\..\..\Program Files\..\Program Files\..\Python27\
但我想有类似的东西:
C:\Python27\
那是一个例子!
如何清理路径以仅获取必要的部分?
谢谢。
如果fileName
是您的文件名字符串,则类似于:
String cleanedFilename = new File(fileName).getCanonicalPath();
应该这样做...
另请参阅API 说明。
您可以尝试使用 File.getCanonicalPath() 方法:
File file = new File("my/init/path");
String path = file.getCanonicalPath();
我还没有测试,但告诉我们!
编辑: @MathiasSchwarz 是对的,使用 getCanonicalPath() 而不是 getAbsolutePath() (链接)
这是我刚刚尝试过的代码。
new File("c:/temp/..").getCanonicalPath();
它返回'C:\',这是正确的。的父母c:/temp
确实是c:\