2013-11-25 17 views
5

Tôi đang cố thêm giá trị vào một tệp văn bản. Làm việc tốt và sản lượng của nó là tốt trong nhật thực. Nhưng khi tôi nhìn thấy các giá trị trong tập tin, tôi nhận được một mô hình thẳng: 2526272829.Đọc và ghi vào tệp văn bản trong 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(); 
     } 

    } 
} 

và tôi cũng muốn biết làm thế nào lưu trữ BufferedReader hoạt động rất xin vui lòng cho một số liên kết.

+0

[Tất cả những gì bạn cần] (http://goo.gl/lIsLZZ) –

+0

Loại đầu ra nào bạn mong đợi? – kviiri

+0

Đầu ra mong muốn của bạn là gì? –

Trả lời

0

Nối dòng mới vào FileWriter trên mỗi lần lặp, nhưng làm điều đó đúng, không nối dây.

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

hãy thử điều này. thêm bằng tay một dòng mới ..

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

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

1

Bạn cần phải thêm một ký tự xuống dòng trong cho vòng lặp:

 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 
     } 

này sẽ viết trên một dòng mới mỗi lần bạn nối thêm. Tôi giả định đây là sản lượng bạn muốn.

Để biết thông tin BufferedReader bạn có thể nhìn vào đây để biết thêm thông tin:

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

+0

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

Các vấn đề liên quan