我想搜索目录中的文件。因此,我想获取File对象中的目录,但我得到的是文件而不是目录。这就是我正在做的事情,它打印错误,但我希望它是真的。
URL url = getClass().getResource("/strategy/viewconfigurations/");
File folder = new File(url.toString());
System.out.println(folder.isDirectory());
如何以这种方式加载目录?
答案 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());