我收到一个奇怪的错误,我提供给某个方法的参数抱怨它不是一个目录,但它实际上是一个包含文件的目录......我不知道明白什么是错的......
Toplevel为:
public static File mainSchemaFile = new File("src/test/resources/1040.xsd");
public static File contentDirectory = new File("src/test/resources/input");
public static File outputDirectory = new File("src/test/resources/output");
DecisionTableBuilder builder =constructor.newInstance(log, contentDirectory, outputDirectory);
// Here is where the error occurs
builder.compile(mainSchemaFile);
我正在使用的课程:
public class DecisionTableBuilder {
public void compiler(File schemaFile) {
...
// It's complaining about contentDirectory, it goes to FileUtils class for this
Collection<File> flowchartFiles = FileUtils.listFiles(contentDirectory, mapExtension, true);
...
}
}
这是apache FileUtils类:
public class FileUtils {
private static void validateListFilesParameters(File directory, IOFileFilter fileFilter) {
if (!directory.isDirectory()) {
throw new IllegalArgumentException("Parameter 'directory' is not a directory");
}
if (fileFilter == null) {
throw new NullPointerException("Parameter 'fileFilter' is null");
}
}
}
输出:参数&#39;目录&#39;不是目录
我得到的错误输出是什么......
任何人都知道这里发生了什么我非常困惑......任何帮助将不胜感激。
修改
在我的顶层我添加了以下行:
if(contentDirectory.isDirectory()) {
System.out.println("Content Directory: "+contentDirectory);
}
Output: src/test/resources/input
答案 0 :(得分:0)
您要指向文件,而不是mainSchemaFile
变量中的目录。减少包含1040.xsd
的文件夹的路径-它应该可以解决问题。