Le paramètre 'répertoire' n'est pas un répertoire pour un paramètre qui est un répertoire
J'ai une erreur étrange où le paramètre je l'offre à une méthode se plaint que ce n'est pas un répertoire, mais il EST en fait un répertoire avec des fichiers dedans...je ne comprends pas quel est le problème...
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);
La classe que j'utilise:
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);
...
}
}
Ici est l'apache FileUtils classe:
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");
}
}
}
De sortie: Paramètre 'répertoire' n'est pas un répertoire
Qui est de la sortie d'erreur que j'obtiens...
Quelqu'un a une idée de ce qui se passe ici, je suis super confus...toute aide sera grandement appréciée.
EDIT:
Dans mon supérieur, j'ai ajouté la ligne suivante:
if(contentDirectory.isDirectory()) {
System.out.println("Content Directory: "+contentDirectory);
}
Output: src/test/resources/input
- De
File.isDirectory()
javadoc,true if and only if the file denoted by this abstract pathname exists and is a directory; false otherwise
. Depuis que vous utilisez un chemin relatif, c'est peut-être résolu à un non-lieu. Pouvez-vous imprimer le chemin et voir si il existe? - Dans
FileUtils.validateListFilesParameters
ajouter cette ligne 'Système.out.println(répertoire.getCanonicalPath());' avantif (!directory.isDirectory())
et de voir où en est cette pointe. - oui je l'ai fait, j'ai édité ma question ci-dessus en vertu de l'ÉDITION, il imprime chemin d'accès relatif, mais je ne comprends pas comment cela pourrait être un problème.
- Je suis en utilisant FileUtils comme une dépendance maven, je ne vais pas être en mesure d'ajouter du code dans il
- mettre un debug point là, et quand il s'arrête il n'y à qu'à regarder dans eclipse. Seule raison pour laquelle il est en échec, c'est que, à ce point n'est pas un répertoire.
- Oh wow, j'ai juste fait ce que vous avez suggéré et je vois pour le 'répertoire' chemin devient 'src/test/resources/input_graph" je n'ai même pas de ce chemin dans mon top niveau. Aucune idée d'où ça vient??
- Avez-vous jamais résoudre ce problème? Et si oui, quelle était la question? Je suis confronté à un problème similaire.
- J'ai eu ce message d'erreur quand je créer un drawable répertoire avec un nom incorrect
Vous devez vous connecter pour publier un commentaire.
Vous êtes pointant vers le fichier et non un répertoire dans
mainSchemaFile
variable. Réduire le chemin vers le dossier contenant1040.xsd
- il devrait résoudre le problème.