CodeGym /Blog Java /Random-FR /Comment vérifier si un fichier existe en Java
Auteur
Oleksandr Miadelets
Head of Developers Team at CodeGym

Comment vérifier si un fichier existe en Java

Publié dans le groupe Random-FR

Pourquoi devons-nous vérifier si un fichier "existe ?"

Lors de la gestion des opérations sur les fichiers (lecture/écriture/création/suppression/mise à jour, etc.), de nombreux débutants peuvent se demander pourquoi avons-nous même besoin de vérifier si un fichier existe ? La réponse appropriée à cela serait, afin d'éviter NoSuchFileException , c'est toujours un moyen plus sûr d'accéder à un fichier. Par conséquent, vous devez vérifier si un fichier existe avant d'y accéder pour éviter toute exception d'exécution.Comment vérifier si un fichier existe en Java - 1

Comment vérifier en utilisant la méthode file.exists() ?

Java fournit une méthode booléenne simple, file.exists() qui ne nécessite aucun paramètre pour vérifier le fichier concerné sur un chemin donné. Lors de la vérification de l'existence d'un fichier, gardez 3 scénarios à l'étude.
  • Le fichier est trouvé.
  • Le fichier est introuvable.
  • L'état du fichier est inconnu si les autorisations ne sont pas accordées (pour des raisons de sécurité).
La méthode File.exists() renvoie " true " si le fichier est trouvé. Dans le cas où il n'est pas trouvé ou que l'accès a échoué, il renvoie « false ».

Exemple

Examinons un exemple de code simple pour voir l'implémentation.

package com.java.exists;
import java.io.File;

public class ExistsMethodInJava {

	public static void main(String[] args) {

		String filePath = "C:\\Users\\Lubaina\\Documents\\myNewTestFile.txt";
		File file = new File(filePath);

		// check if the file exists at the file path
		System.out.println("Does File exists at \"" + filePath + "\"?\t" + file.exists());
		
		filePath = "C:\\Users\\Lubaina\\Documents\\myOtherTestFile.txt";
		File nextFile = new File(filePath);
		
		// check if the file exists at the file path
		System.out.println("Does File exists at \"" + filePath + "\"?\t" + nextFile.exists());
	}
}
Sortir
Le fichier existe-t-il dans "C:\Users\Lubaina\Documents\myNewTestFile.txt" ? true Le fichier existe-t-il dans "C:\Users\Lubaina\Documents\myOtherTestFile.txt" ? FAUX
Veuillez noter que la méthode file.exists() fonctionne également pour les chemins de " répertoire ". Si vous vérifiez un chemin de répertoire valide avec cette méthode, il retournera true ou false sinon. Pour une meilleure compréhension, vous pouvez consulter le bloc de code suivant.

package com.java.exists;
import java.io.File;

public class CheckFileExists {

	// check if the "file" resource exists and not "directory"
	public static boolean checkFileExists(File file) {
		return file.exists() && !file.isDirectory();
	}

	public static void main(String[] args) {

		String directoryPath = "C:\\Users\\Lubaina\\Documents\\javaContent";
		File direcotry = new File(directoryPath);

		// check if the directory exists at the dir path
		if (direcotry.exists()) {
			System.out.println("Direcotry at \"" + directoryPath + "\" exists.\n");
		} else {
			System.out.println("Direcotry at \"" + directoryPath + "\" does not exist.\n");
		}

		// check if the resource present at the path is a "file" not "directory"
		boolean check = checkFileExists(direcotry);
		System.out.println("Is the resource \"" + direcotry + "\" a File? " + check);

		String filePath = "C:\\Users\\Lubaina\\Documents\\myNewTestFile.txt";
		File file = new File(filePath);
		check = checkFileExists(file);
		System.out.println("Is the resource \"" + file + "\" a File? " + check);
	}
}
Sortir
Le répertoire "C:\Users\Lubaina\Documents\javaContent" existe. La ressource "C:\Users\Lubaina\Documents\javaContent" est-elle un fichier ? false La ressource « C:\Users\Lubaina\Documents\myNewTestFile.txt » est-elle un fichier ? vrai
Comme vous pouvez le voir sur la sortie, le répertoire nommé "javaContent" a été validé par la méthode exists() . Ainsi, si vous souhaitez spécifiquement vérifier qu'un fichier n'est pas un répertoire, vous pouvez utiliser la méthode booléenne isDirectory() fournie par la classe File en Java.

Conclusion

À la fin de cet article, vous devez savoir comment vérifier si un fichier existe en Java. Vous pouvez écrire vos propres programmes pour tester et comprendre cette fonctionnalité. Une fois que vous êtes à l'aise avec cela, vous pouvez également explorer d'autres moyens de vérifier la présence d'un fichier (par exemple, en utilisant des liens symboliques ou une classe nio). Bonne chance et bon codage ! :)

Plus de lecture :

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION