从classpath获取目录(立即获取文件)

时间:2014-06-06 09:20:02

标签: java

我想搜索目录中的文件。因此,我想获取File对象中的目录,但我得到的是文件而不是目录。这就是我正在做的事情,它打印错误,但我希望它是真的。

URL url = getClass().getResource("/strategy/viewconfigurations/");
File folder = new File(url.toString());
System.out.println(folder.isDirectory());

如何以这种方式加载目录?

2 个答案:

答案 0 :(得分:0)

看起来你会从URL对象得到的路径或字符串导致问题 您传递了从url.toString()获得的文件路径。

您需要更改以下行

File folder = new File(url.toString());  

这一行

File folder = new File(url.getPath());  

您需要从URL.getPath()函数获取该文件夹的路径。

我希望这是你需要的。

答案 1 :(得分:0)

如果您需要从Yagnesh Agola的帖子中找到Java 7+的替代品,以便从类路径文件夹中找到目录,那么您也可以使用较新的java.nio.file.Path类。

这里是一个例子:

URL outputXml = Thread.currentThread().getContextClassLoader().getResource("outputXml");
if(outputXml == null) {
    throw new RuntimeException("Cannot find path in classpath");
}
Path path = Paths.get(outputXml.toURI());