2017-05-11 2 views
0

Ich versuche, eine Reihe von Zeilen in eine Textdatei mit Java zu schreiben.Schreiben der Ausgabe in eine Textdatei mit Java

Code:

File file = new File("file.txt"); 
FileWriter writer = new FileWriter(file,true); 
for (first for loop) { 
      for (second for loop) { 
       if (condition TRUE){ 
        writer.write(element1 + element2.toString()+"\n"); 
       } 
       else { 
       writer.write("-"+ element1 + element2.toString()+"\n"); 
       } 
      } 
     } 

Fehler:

Nur eine leere Datei erstellt zu werden. Bitte, wären irgendwelche Vorschläge hilfreich

+1

Können Sie uns Ihren tatsächlichen Code geben? Die Verwendung von 'FileWriter' ist in Ordnung, Sie müssen es jedoch schließen. – jiveturkey

+0

@jnbbender danke für deine zeit die gegebene antwort löste es. –

+0

Mögliches Duplikat von [Wie erstelle ich eine Datei und schreibe dazu in Java?] (Http://stackoverflow.com/questions/2885173/how-do-i-create-a-file-and-write-to- es-in-java) – Thierry

Antwort

0

diese ersetzen:

FileWriter writer = new FileWriter(file,true); 

mit:

BufferedWriter writer = new BufferedWriter(new FileWriter(file,true)); 

und am Ende:

writer.close(); 
-1

Hier ist, wie der Code aussehen sollte und du kannst deine Logik wo immer anwendbar ersetzen.

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

public class WriteAFile { 

    public static void main(String [] args) { 
     String element1="First Element"; 
     Integer element2=10; 
     FileWriter writer = null; 

     try { 
      writer = new FileWriter(new File("file.txt"), true); 

      for (int i=0; i<5; i++) { 
       for (int j=0; j<5; j++) { 
        if (true){ //Write the condition here 
         writer.write(element1 + element2.toString()+"\n"); 
        } 
        else { 
         writer.write("-"+ element1 + element2.toString()+"\n"); 
        } 
       } 
      } 
      writer.close(); 
     } 
     catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } 
    } 
} 
0

Es gibt nichts falsch mit dem Code-Schnipsel ist Ihnen zur Verfügung gestellt. Das Problem könnte sein, dass die conditions in Ihren for Schleifen und if Aussagen werden nie erfüllt. So kommt Ihr Code nie zu

writer.write(element1 + element2.toString()+"\n");.

So zu helfen, dass, wenn Sie den tatsächlichen Code bereitstellen.

Auch müssen Sie sicherstellen, dass file.txt vorhanden sind. Es wäre besser, wenn Sie einen absoluten Pfad wie C:\\Users\\YOUNG MILLIE\\Documents\\file.txt in Windows-Umgebung verwenden.

Weil ich mit diesem Beispiel versucht habe und es funktioniert gut.

 File file = new File("C:\\Users\\YOUNG MILLIE\\Documents\\file.txt"); 
     FileWriter writer = new FileWriter(file,true); 
     for (int i = 0; i <= 100;i++) { 
      for (int k = 0; k <= 50;k++) { 
       if (i <=50){ 
        writer.write(k +"\n"); 
       } 
       else { 
        writer.write("-"+ k +"\n"); 
       } 
      } 
     } 
     writer.close(); 
Verwandte Themen