File I/O



  • Hi,
    habe ein kleiens Problem beim kopieren von Dateien.
    Und zwar will ich aus der einen Datei einen Java Quellcode lesen und in eine Html-Datei speichern. Das bekomme ich noch hin ABER
    Ich will alle Java Schlüsselwörter Fett-markieren. Das soll heissen jedes Schlüsselwort soll von <strong>WORT</strong> umgeben werden.
    Und hier komm ich nicht weiter.
    Gibt es eine Möglichkeit die Datei Wort für Wort, statt Buchstaben weise auszulesen ?? Vielleicht bietet der BufferReader ja was ????
    Kann mir jemand helfen ???

    Hier mein Quellcode:

    //Kopierprogramm das eine Datei Zeichenweise von einer Java Datei in eine HTML Datei kopiert
    
    import java.io.*;
    
    public class KopiereDatei
    {
    
    public static void kopiere(String quelldatei, String zieldatei) throws IOException
       {
    
          //Erstellen Eingabestrom und Ausgabestrom
          DataInput quelle= new DataInputStream(new FileInputStream(quelldatei));
          DataOutput ziel= new DataOutputStream(new FileOutputStream(zieldatei));
          //Schreibe zeichen für zeichen um
          try
          {
             while (true)
             {
                char zeichen=quelle.readChar();
                ziel.writeChar(zeichen);
             }
    
          }
          //Fehler Abfang
          catch (EOFException e)
          {
             System.out.println("Kopieren der Datei erfolgreich beendet");
          }
          catch (IOException e)
          {
             System.out.println(e.getMessage());
          }
       }
    
       //Main Methode
       public static void main (String[] args) throws IOException
       {
          try
          {
             kopiere("quelle.java","ziel.html");
          }
    
          catch (ArrayIndexOutOfBoundsException uebergabeEx)
          {
             System.out.println("Das Programm benötigt zwei Übergabeparameter.");
             System.out.println("Folgende Syntax ist notwendig");
             System.out.println("java KopiereDatei [Name der Quelldatei] [Name der Zieldatei]");
          }
       }
    }
    

  • Mod

    Das geht mit einem StringTokenizer oder mit einem StreamTokenizer!



  • Danke für deine schnelle Antwort
    Hab haber leider überhaupt keine Ahnung was ein Token ist. :-((


  • Mod

    Original erstellt von <Weichei>:
    **
    Hab haber leider überhaupt keine Ahnung was ein Token ist. :-((**

    Ein Token wird in diesem Zusammenghang wohl eine zusammenhängende Zeichenkette aus der Java-Datei sein. ...also zum Beispiel ein Schlüsselwort. Beispiel:
    Aus
    [java]
    public class Blah
    {
    public static void main (String [] args)
    {
    }
    }[/code]
    wirst du wohl folgende Tokens kriegen:

    public
    class
    Blah
    {
    public
    static
    void
    main
    (String
    []
    args)
    {
    }
    }


Anmelden zum Antworten