来自Abs路径的文件未正确实例化

时间:2018-09-06 17:04:34

标签: java java-io

我有一个简单的方法来检查路径是否为包含某些文件的目录。 尽管该文件夹中有很多文件,但是检查失败。

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 

我应该如何设置路径,以使检查不会失败?

1 个答案:

答案 0 :(得分:3)

您使用的路径被视为URI:https://docs.oracle.com/javase/7/docs/api/java/net/URI.html

这应该可以解决您的问题:

File templatesFolder = new File(new URI(prefix));