Exceptions

Bei Dateizugriffen sollten immer Try-Catch Blöcke verwenden werden. Sonst kann es zu Programmabstürzen oder Fehlern in den Dateien führen. Exceptions bei Dateizugriffen

Pfad zur Datei


Der Pfad muss vom typ Path sein. Dafür muss import java.nio.file.Path und import java.nio.file.Paths importiert sein.

Um mit ./datei.txt auf die Datei zuzugreifen, muss sie auf oberster Ebene im Projekt liegen.

Pfad zum Userprofil: Path pfad = Paths.get(System.getProperty("user.home")+"/datei.txt");

Ganze Datei ausgeben


try { 
	Path pfad = Paths.get("D:/wortliste.txt"); 
	for(String zeile : Files.readAllLines(pfad)){ 
		System.out.println(zeile); 
	} 
} catch (IOException ex) { 
	System.err.println("Ein- oder Ausgabefehler: " + ex.getLocalizedMessage()); 
} catch (InvalidPathException e) { 
	System.err.println("Ungültiger Pfad: " + e.getLocalizedMessage()); 
}

In Datei schreiben


Modul: import java.io.PrintWriter

try (
	PrintWriter out = new PrintWriter("D:/Ausgabedatei.txt"); // Stream öffnen
)
{
	out.println("Test2"); // eine Zeile schreiben 
	out.close(); // schließen (Wichtig!)
catch(FileNotFoundException ex){
	System.out.println("Datei nicht gefunden");
}

Text an Datei anhängen


Path pfad = Paths.get("D:/Ausgabedatei.txt"); 
try(
	BufferedWriter bw = Files.newBufferedWriter(pfad, StandardOpenOption.APPEND);
	PrintWriter out = new PrintWriter(bw); 
) 
{ 
	out.println("Test4"); 
}catch(FileNotFoundException ex){
	System.out.println("Datei nicht gefunden");
}

Dateiauswahlfenster


FileChooser fileChooser = new FileChooser(); 
fileChooser.setTitle("Datei öffnen"); 
File selectedFile = fileChooser.showOpenDialog(); 
if(selectedFile != null){
	Path pfad = selectedFile.toPath(); 
	// oder z.B. String pfadString = selectedFile.getPath();