1

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

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

但我想有类似的东西:

C:\Python27\

那是一个例子!

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

谢谢。

4

3 回答 3

6

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

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

应该这样做...

另请参阅API 说明

于 2012-04-18T12:48:59.727 回答
3

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

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

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

编辑: @MathiasSchwarz 是对的,使用 getCanonicalPath() 而不是 getAbsolutePath() (链接

于 2012-04-18T12:48:27.617 回答
3

这是我刚刚尝试过的代码。

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

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

于 2012-04-18T12:51:42.307 回答