Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen
Die Java File-Klasse
In diesem Tutorial erkunden wir die java.io.File-Klasse und ihre wesentlichen Dateisystem-Operationen, illustriert mit klaren Beispielen.
Einführung
Die File-Klasse aus dem java.io-Paket bietet eine programmatische Schnittstelle für die Arbeit mit Dateien und Verzeichnissen im Dateisystem. Obwohl die neuere java.nio.file-API zusätzliche Funktionen bietet, konzentriert sich dieser Leitfaden auf den klassischen java.io-Ansatz.
Dateien und Verzeichnisse
Eine Datei ist ein benannter Speicherort für Daten. Beispielsweise enthält main.java den Quellcode für ein Java-Programm.
Ein Verzeichnis (oder Ordner) ist ein Container, der Dateien und andere Verzeichnisse – Unterverzeichnisse – enthalten kann. Das Verständnis dieser Konzepte bildet die Grundlage für die Manipulation des Dateisystems in Java.
File-Objekt erstellen
Zuerst importieren wir die Klasse:
import java.io.File;
Dann instanziieren wir sie mit einem Pfadnamen:
// Erstellt ein File-Objekt, das den Pfad repräsentiert
File file = new File("pfad/zur/datei.txt");
Die File-Instanz ist lediglich eine abstrakte Repräsentation; sie erstellt die physische Datei nicht auf der Festplatte.
Hinweis: Das Instanziieren von File erstellt keine Datei; es speichert nur den Pfadnamen.
Wichtige Dateioperationen
| Operation | Methode | Paket |
|---|---|---|
| Datei erstellen | createNewFile() | java.io.File |
| Datei lesen | read() | java.io.FileReader |
| In Datei schreiben | write() | java.io.FileWriter |
| Datei löschen | delete() | java.io.File |
Dateien erstellen
Die Methode createNewFile() versucht, eine neue Datei am angegebenen Pfad zu erstellen. Sie gibt zurück:
true, wenn die Datei noch nicht existierte und erstellt wurde.false, wenn an diesem Speicherort bereits eine Datei existiert.
Beispiel: Neue Datei erstellen
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("neueDatei.txt");
try {
boolean created = file.createNewFile();
if (created) {
System.out.println("Die neue Datei wurde erstellt.");
} else {
System.out.println("Die Datei existiert bereits.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Wenn neueDatei.txt nicht vorhanden ist, gibt das Programm aus:
Die neue Datei wurde erstellt.
Falls sie bereits existiert, lautet die Ausgabe:
Die Datei existiert bereits.
Dateien lesen
Das Lesen kann über Unterklassen von InputStream oder Reader erfolgen. Eine häufige Wahl ist FileReader.
Beispiel: Datei mit FileReader lesen
import java.io.FileReader;
public class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try {
FileReader reader = new FileReader("eingabe.txt");
reader.read(buffer);
System.out.println("Daten in der Datei:");
System.out.println(buffer);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Die Beispieldatei eingabe.txt enthält:
Dies ist eine Textzeile in der Datei.
Die Programmausgabe:
Daten in der Datei: Dies ist eine Textzeile in der Datei.
In Dateien schreiben
Das Schreiben erfolgt typischerweise mit Unterklassen von OutputStream oder Writer, wie FileWriter.
Beispiel: Mit FileWriter in Datei schreiben
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String daten = "Dies sind die Daten in der Ausgabedatei";
try {
FileWriter writer = new FileWriter("ausgabe.txt");
writer.write(daten);
System.out.println("Daten wurden in die Datei geschrieben.");
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Die resultierende ausgabe.txt enthält:
Dies sind die Daten in der Ausgabedatei.
Dateien löschen
Die Methode delete() entfernt die angegebene Datei oder das Verzeichnis. Sie gibt zurück:
true, wenn das Löschen erfolgreich war.false, wenn die Datei nicht existierte oder nicht gelöscht werden konnte.
Hinweis: Nur leere Verzeichnisse können mit delete() gelöscht werden.
Beispiel: Datei löschen
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("datei.txt");
boolean deleted = file.delete();
if (deleted) {
System.out.println("Die Datei wurde gelöscht.");
} else {
System.out.println("Die Datei wurde nicht gelöscht.");
}
}
}
Ausgabe:
Die Datei wurde gelöscht.
Verwandte Beispiele
- Java-Verzeichnis erstellen
- Java-Datei umbenennen
- Java-Dateien in Verzeichnis auflisten
- Java-Dateien kopieren
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java-Vererbung meistern: Konzepte, Typen und praktische Beispiele
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java BufferedReader meistern: Effizientes Character-Stream-Handling
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen