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

问题描述 投票:0回答:1

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

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 

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

java java-io
1个回答
3
投票

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

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

File templatesFolder = new File(new URI(prefix));
© www.soinside.com 2019 - 2024. All rights reserved.