2013-11-25 18 views
5

Ich versuche, Werte in einer Textdatei hinzuzufügen. Es funktioniert gut und Leistung ist gut in Finsternis. Aber wenn ich die Werte in der Datei sehen, erhalte ich ein gerade Muster: 2526272829.Lesen und Schreiben in Textdatei in Java

import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class FileDemo { 
    public static void main(String[] args) throws IOException { 
     BufferedReader bfr; 
     String line;  
     bfr=new BufferedReader(new InputStreamReader(System.in)); 
     String fileName=bfr.readLine(); 
     File file=new File(fileName);  
     if(!file.exists()){ 
      file.createNewFile(); 
     }  
     try{ 
      bfr=new BufferedReader(new FileReader(file)); 

      while((line=bfr.readLine())!=null){ 
       System.out.println(line); 
      } 
      FileWriter fw=new FileWriter(file,true);    
      for(int i=25;i<30;i++){     
       fw.append(String.valueOf(i)); 
      } 

      while((line=bfr.readLine())!=null){ 
       System.out.println(line); 
      } 
      bfr.close(); 
      fw.close(); 

     }catch(FileNotFoundException fex){ 
      fex.printStackTrace(); 
     } 

    } 
} 

und ich möchte auch wissen, wie BufferedReader Speicher funktioniert so wenden Sie sich bitte ein paar Links geben.

+0

[Alles, was Sie brauchen] (http://goo.gl/lIsLZZ) –

+0

Welche Ausgabe haben Sie erwartet? – kviiri

+0

Was ist Ihre gewünschte Ausgabe? –

Antwort

0

anhängen neue Zeile an das Filewriter bei jeder Iteration, aber richtig, nicht Strings verketten.

FileWriter fw=new FileWriter(file,true);    
for(int i=25;i<30;i++){  
    fw.append(String.valueOf(i)); 
    fw.append("\n"); 
} 
1

versuchen Sie dies. fügen Sie manuell eine neue Linie ..

fw.append(String.valueOf(i)+"\n"); 
+0

fw.append (String.valueOf (i)); fw.append ("\ n"); – SergeyB

1

Sie benötigen ein Newline-Zeichen in Ihre for-Schleife hinzuzufügen:

 FileWriter fw=new FileWriter(file,true);    
     for(int i=25;i<30;i++){     
      fw.append(String.valueOf(i)+"\n"); //Here I've made the small correction 
     } 

Diese jedes Mal, wenn anhängen schreiben wird auf einer neuen Zeile. Ich gehe davon aus, dass dies die gewünschte Ausgabe ist.

Für BufferedReader Informationen können Sie hier für weitere Informationen suchen:

http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html

+0

fw.append (String.valueOf (i)); fw.append ("\ n"); – SergeyB

Verwandte Themen