我最近遇到了getPath()的问题。
我的代码看起来像这样:
File path = new File(Main.class.getResource("/worlds/").getPath());
File[] files = path.listFiles();
现在的问题是,如果Main类的路径中有某个空格,path.listFiles()
将返回null
。如果没有空间,一切正常。
如果我打印到cmd的路径,我会看到每个空格都被%20
替换
答案 0 :(得分:14)
这不是将URL转换为文件的正确方法。试试这个:
new File(Main.class.getResource("/worlds/").toURI());
答案 1 :(得分:3)
不要那样做。 resource URL返回的getResource()不一定是文件系统上的文件,这是File所代表的文件。