Arbeiten mit dem Dateisystem in Java: Vollständiger Leitfaden

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeiten mit dem Dateisystem in Java: Von den Grundlagen bis zu fortgeschrittenen Techniken



Die Arbeit mit dem Dateisystem ist eine der grundlegenden Aufgaben in der Programmierung. Java bietet Entwicklern leistungsstarke und flexible Werkzeuge zur Verwaltung von Dateien und Verzeichnissen. In diesem Artikel werden wir detailliert behandeln, wie man mit dem Dateisystem in Java arbeitet, sowohl mit dem klassischen Paket java.io als auch mit dem modernen java.nio.file. Sie lernen, Dateien zu erstellen, zu lesen, zu schreiben, Verzeichnisse zu verwalten und Ausnahmen zu behandeln.



Grundlagen der Dateiarbeit in Java: Die Klasse File



Die Klasse java.io.File ist der Grundstein der Arbeit mit dem Dateisystem in Java. Sie stellt eine abstrakte Darstellung eines Pfades zu einer Datei oder einem Verzeichnis dar. Es ist wichtig zu verstehen, dass File nicht den Inhalt der Datei speichert, sondern lediglich Methoden zur Überprüfung von Eigenschaften und zur Durchführung von Operationen bereitstellt.



Betrachten wir die grundlegenden Operationen mit File:



import java.io.File;import java.io.IOException;

public class FileExample { public static void main(String[] args) { // Erstellen eines File-Objekts File file = new File("example.txt"); File directory = new File("myDirectory");

// Überprüfung der Existenz System.out.println("Datei existiert: " + file.exists()); System.out.println("Ordner existiert: " + directory.exists());

// Erstellen einer neuen Datei try { if (file.createNewFile()) { System.out.println("Datei erstellt: " + file.getName()); } else { System.out.println("Datei existiert bereits"); } } catch (IOException e) { System.err.println("Fehler beim Erstellen der Datei: " + e.getMessage()); }

// Erstellen eines Verzeichnisses if (directory.mkdir()) { System.out.println("Ordner erstellt: " + directory.getName()); }

// Abrufen von Informationen über die Datei System.out.println("Absoluter Pfad: " + file.getAbsolutePath()); System.out.println("Dateigröße: " + file.length() + " Bytes"); System.out.println("Lesbar: " + file.canRead()); System.out.println("Beschreibbar: " + file.canWrite());

// Löschen der Datei if (file.delete()) { System.out.println("Datei gelöscht"); } }}


Die Klasse File ermöglicht auch die Arbeit mit Dateilisten in einem Verzeichnis:



File currentDir = new File(".");String[] contents = currentDir.list();for (String item : contents) {    System.out.println(item);}


Lesen und Schreiben von Dateien: Ein-/Ausgabeströme



Für die direkte Arbeit mit dem Inhalt von Dateien verwendet Java Ein-/Ausgabeströme (I/O streams). Die wichtigsten Klassen für die Arbeit mit Textdateien sind FileReader/FileWriter und BufferedReader/BufferedWriter.



Zeilenweises Lesen einer Datei



import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;

public class ReadFileExample { public static void main(String[] args) { String fileName = "input.txt"; try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.err.println("Fehler beim Lesen der Datei: " + e.getMessage()); } }}


Beachten Sie die try-with-resources-Konstruktion. Sie schließt den Stream automatisch, was Ressourcenlecks verhindert.



Schreiben in eine Datei



import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;

public class WriteFileExample { public static void main(String[] args) { String fil

Blogs

Buchempfehlungen