我有一个简单的方法来检查路径是否为包含某些文件的目录。 尽管该文件夹中有很多文件,但是检查失败。
public boolean check() throws FileNotFoundException {
LOG.info("getPath, prefix set to : {}", prefix);
File templatesFolder = new File(prefix);
if (!templatesFolder.isDirectory() || templatesFolder.list() == null || templatesFolder.list().length == 0) {
LOG.error("Templates cannot be found in absolute path {}", templatesFolder.getAbsolutePath());
LOG.error("templatesFolder.isDirectory() {}", templatesFolder.isDirectory());
return false;
}
return true;
}
以下是输出:
prefix set to : file:///tmp/templates/
Templates cannot be found in absolute path /home/oozen/workspace/pdfGenerator/file:/tmp/templates
isDirectory false
我应该如何设置路径,以使检查不会失败?
答案 0 :(得分:3)
您使用的路径被视为URI:https://docs.oracle.com/javase/7/docs/api/java/net/URI.html
这应该可以解决您的问题:
File templatesFolder = new File(new URI(prefix));