Java Standard: File

Aus Wikibooks


Dateien und Java[Bearbeiten]

Dateien sind in Java leider nicht ganz so einfach zu benutzen wie in C++ und Delphi. In Java laufen alle Ein- und Ausgaben über Streams, egal ob es sich nun um Lesen und Schreiben von Konsole oder in und aus Dateien handelt. Auf der einen Seite ist diese Vorgehensweise zwar für Einsteiger relativ umständlich, andererseits dafür aber auch sehr elegant, da sämtliche IO nach dem gleichen Prinzip läuft: egal ob Konsole, Dateien, Netzwerk oder Internet - alles wird genau gleich abgehandelt, nur die Namen der Klassen heißen anders.

Zum Einstieg sieht man hier ein kleines Programm, das eine Nachricht (einen String) in eine Textdatei schreibt. Dazu müssen drei Streams miteinander verkoppelt werden: nämlich FileOutputStream muss in einen OutputstreamWriter gepackt werden und dieser wieder in einem BufferedWriter. Das ganze muss natürlich in einem try..catch-Block passieren, da sich Java sonst weigert das Programm überhaupt zu übersetzen.

import java.io.*;
  import java.text.*;
  import java.util.*;
  public class TextdateiTest 
  {
    public static void main( String args[] )
    {
       String news = "Hallo Textdatei";
       try 
       {
          BufferedWriter datei = new BufferedWriter(
                                 new OutputStreamWriter(
                                 new FileOutputStream( "test.txt" ) ) );
          System.out.println( "Message für die Textdatei = "+news );
          datei.write( news, 0, news.length() );
          datei.newLine();
          datei.close();
       } 
       catch( IOException e ) 
       {
          System.out.println( "Achtung Fehler: "+e );
       }
    }
  }