在空目录上执行class.getResource时Java获取Null

时间:2017-08-27 14:49:03

标签: java spring maven intellij-idea

我正在写一个spring maven web应用程序。 在我的代码中,我试图对位于classpath的文件和目录进行各种操作。

对于ex - 下面的代码片段来获取目录中的所有文件

{
    URL resource = FileUtil.class.getResource(inboxLocation); //getting null when directory is empty
    File directory = new File(resource.getPath());
    Collection<File> files = FileUtils.listFiles(directory, TrueFileFilter.TRUE, null);
    ArrayList<File> fileArray = new ArrayList<>(files);
    return fileArray.subList(0, Math.min(batchSize, fileArray.size()));
}

当inboxLocation(目录)已有文件时,这可以正常工作。 但是当inboxLocation为空时,我在资源中变为空。

还有另一个功能,我尝试将文件移动到目录.. 当目录为空时,即使该方法也会失败。

我使用IntelliJ作为开发平台。

任何人都可以帮忙解决这个问题。 任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

getResource的目的是read resources from a JAR file。请注意a resource is data (images, audio, text, and so on),目录不是资源。

使用Files.walk获取目录条目流。