Quelqu'un peut-il m'aider avec ce scénario?Java: vérifier si un fichier est présent
J'ai une méthode qui, lorsqu'elle est exécutée, génère un certain nombre de fichiers. Les fichiers peuvent prendre de quelques secondes à une minute pour être générés au lieu d'attendre 2 minutes à chaque fois que j'essaie de regarder le nombre de fichiers dans le dossier, puis vérifier chaque seconde jusqu'à 2 minutes pour le nombre de fichiers à monter.
Si le nombre de fichiers ne monte pas en 2 minutes, je veux juste continuer avec le reste de la méthode au lieu de lancer une exception et de quitter.
Le problème est la première fois qu'il s'exécute quand il arrive à new File(generatedFilesFolder).listFiles().length;
il lève une exception de pointeur null car le fichier generatedFolderFolder est vide à ce stade.
Je pourrais faire cette vérification après le generate.next() mais ensuite je devrais dormir ce qui irait à l'encontre du point de ce que je tente d'archiver.
S'il vous plaît quelqu'un peut-il me dire une meilleure façon? J'ai essayé de changer l'int en un Integer à la place mais il a quand même jeté une exception.
int actualFilesGenerated = new File(generatedFilesFolder).listFiles().length;
generate.next();
///Now I want to give each file 2 minutes to generate otherwise catch and
// carry on with rest of method.
try {
int currentFilesGenerated = new File(generatedFilesFolder).listFiles().length;
int counter = 0;
while ((currentFilesGenerated < actualFilesGenerated) & counter < 120) {
Thread.sleep(1000);
currentFilesGenerated = new File(generatedFilesFolder).listFiles().length;
counter++;
System.out.println("actualFilesGenerated: " + actualFilesGenerated
+ " currentFilesGenerated: " + currentFilesGenerated + "counter: "
+ counter);
}
} catch (InterruptedException e1) {
e1.printStackTrace();
}
///rest of method here
Vérifiez le fichier avec la méthode 'File.exists()' –
'Fichier f = nouveau fichier (generatedFilesFolder);' then 'currentFilesGenerated = (f.exists() == false) - 1: f.listFiles(). Length' –