2012-04-07 14 views
0

Ich habe eine Anwendung, die Text in eine Datei schreibt. Wenn die Datei nicht existiert, wird sie erstellt.Ausnahme beim Versuch, ein Programm zu starten, wenn eine Datei bereits existiert

Wenn ich die Anwendung zum ersten Mal ausführen, funktioniert alles korrekt und die Datei wird erstellt. Jedes weitere Mal führt jedoch zum Absturz der Anwendung. Könnten Sie bitte erklären, warum es nicht mehr als einmal funktioniert?

Mein Code ist wie folgt ...

public class Apples { 

    Formatter x; 
    File file = new File("myfile.txt"); 

    public Apples() { 

     if (!file.exists()) { 
      try { 
       x = new Formatter("myfile.txt"); 
      } 
      catch (Exception e) { 
       System.out.println("There was an error creating the file"); 
      } 

      System.out.println("The file was created"); 
     } 
     else { 
      System.out.println("The file already exists"); 
      } 

     x.format("%s", "text"); 
     x.close(); 
    } 

    public static void main(String[] args) throws FileNotFoundException { 
     Apples a = new Apples(); 
    } 

} 
+0

Welchen Fehler bekommen Sie? –

+0

System.out.println ("Fehler"); - Bitte drucken Sie das gesamte Detail aus der System.out.println ("error:" + e.getMessage()); –

Antwort

4

Ich vermute, dass das Problem ein NullPointerException auf der Linie x.format("%s", "text");, weil Sie keinen Wert x, wenn die Datei bereits Zuordnung vorhanden ist.

0

Das zweite Mal x ist null, weil Sie es nicht initiieren.

Verwandte Themen