CodeGym /Java-Blog /Random-DE /So überprüfen Sie, ob eine Datei in Java vorhanden ist
Autor
Oleksandr Miadelets
Head of Developers Team at CodeGym

So überprüfen Sie, ob eine Datei in Java vorhanden ist

Veröffentlicht in der Gruppe Random-DE

Warum müssen wir prüfen, ob eine Datei „existiert“?

Beim Umgang mit Dateioperationen (Lesen/Schreiben/Erstellen/Löschen/Aktualisieren usw.) fragen sich viele Neulinge vielleicht, warum wir überhaupt prüfen müssen, ob eine Datei existiert? Die angemessene Antwort hierauf wäre: Um NoSuchFileException zu vermeiden , ist es immer eine sicherere Möglichkeit, auf eine Datei zuzugreifen. Daher müssen Sie vor dem Zugriff prüfen, ob eine Datei vorhanden ist, um Laufzeitausnahmen zu vermeiden.So überprüfen Sie, ob eine Datei in Java existiert – 1

Wie überprüfe ich mit der Methode file.exists()?

Java bietet eine einfache boolesche Methode, file.exists() , die keine Parameter benötigt, um die relevante Datei in einem bestimmten Pfad zu überprüfen. Berücksichtigen Sie bei der Prüfung der Existenz einer Datei drei Szenarien.
  • Die Datei wurde gefunden.
  • Die Datei wurde nicht gefunden.
  • Der Dateistatus ist unbekannt, wenn keine Berechtigungen erteilt werden (aus Sicherheitsgründen).
Die Methode File.exists() gibt „ true “ zurück, wenn die Datei gefunden wird. Falls es nicht gefunden wird oder der Zugriff fehlschlägt, wird „ false “ zurückgegeben.

Beispiel

Schauen wir uns ein einfaches Codebeispiel an, um die Implementierung zu sehen.

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());
	}
}
Ausgang
Existiert die Datei unter „C:\Users\Lubaina\Documents\myNewTestFile.txt“? true Existiert die Datei unter „C:\Users\Lubaina\Documents\myOtherTestFile.txt“? FALSCH
Bitte beachten Sie, dass die Methode file.exists() auch für „ Verzeichnis “-Pfade funktioniert . Wenn Sie mit dieser Methode einen gültigen Verzeichnispfad überprüfen, wird „true“ zurückgegeben, andernfalls „false“. Zum besseren Verständnis können Sie sich den folgenden Codeblock ansehen.

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);
	}
}
Ausgang
Verzeichnis unter „C:\Users\Lubaina\Documents\javaContent“ existiert. Ist die Ressource „C:\Users\Lubaina\Documents\javaContent“ eine Datei? false Ist die Ressource „C:\Users\Lubaina\Documents\myNewTestFile.txt“ eine Datei? WAHR
Wie Sie der Ausgabe entnehmen können, wurde das Verzeichnis mit dem Namen „javaContent“ durch die Methode exist() validiert . Wenn Sie also gezielt überprüfen möchten, ob eine Datei kein Verzeichnis ist, können Sie die boolesche Methode isDirectory() verwenden , die von der File- Klasse in Java bereitgestellt wird.

Abschluss

Am Ende dieses Beitrags müssen Sie damit vertraut sein, wie Sie überprüfen, ob eine Datei in Java vorhanden ist. Sie können Ihre eigenen Programme schreiben, um diese Funktionalität zu testen und zu verstehen. Sobald Sie damit vertraut sind, können Sie auch andere Möglichkeiten erkunden, das Vorhandensein einer Datei zu überprüfen (z. B. mithilfe symbolischer Links oder der Nio-Klasse). Viel Glück und viel Spaß beim Codieren! :) :)
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION