Java中的getPath()和Spaces

时间:2011-10-08 21:55:20

标签: java file

我最近遇到了getPath()的问题。

我的代码看起来像这样:

File path = new File(Main.class.getResource("/worlds/").getPath());
File[] files = path.listFiles();

现在的问题是,如果Main类的路径中有某个空格,path.listFiles()将返回null。如果没有空间,一切正常。

如果我打印到cmd的路径,我会看到每个空格都被%20替换

2 个答案:

答案 0 :(得分:14)

这不是将URL转换为文件的正确方法。试试这个:

new File(Main.class.getResource("/worlds/").toURI());

答案 1 :(得分:3)

不要那样做。 resource URL返回的getResource()不一定是文件系统上的文件,这是File所代表的文件。