我正在写一个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作为开发平台。
任何人都可以帮忙解决这个问题。 任何帮助表示赞赏
答案 0 :(得分:1)
getResource的目的是read resources from a JAR file。请注意a resource is data (images, audio, text, and so on),目录不是资源。
使用Files.walk获取目录条目流。