2009-08-03 30 views
26

Tôi hiện đang sử dụng FileWriter để tạo và ghi vào một tệp. Có cách nào để tôi có thể ghi vào cùng một tệp mỗi lần mà không xóa nội dung trong đó không?Java FileWriter với chế độ nối thêm

fout = new FileWriter(
    "Distribution_" + Double.toString(_lowerBound) + "_" + Double.toString(_highBound) + ".txt"); 
    fileout = new PrintWriter(fout,true); 
fileout.print(now.getTime().toString() + ", " + weight + ","+ count +"\n"); 
    fileout.close(); 

Trả lời

78

Vượt qua true làm đối số thứ hai để FileWriter để bật chế độ "nối thêm".

fout = new FileWriter("filename.txt", true); 

FileWriter usage reference

+0

tài liệu java đã di chuyển –

+0

Vẫn hoạt động trong năm 2015 –

7

Từ Javadoc, bạn có thể sử dụng các nhà xây dựng để xác định xem bạn có muốn thêm hay không.

FileWriter công cộng (tập tin File, boolean append) throws IOException

Constructs một đối tượng FileWriter cho một đối tượng tập tin. Nếu đối số thứ hai là đúng, thì byte sẽ là được ghi vào cuối tệp thay vì so với đầu.

+0

javadoc đã di chuyển –

5

Bạn có thể mở FileWriter trong chế độ append bằng cách thông qua true như tham số thứ hai:

fout = new FileWriter("Distribution_" + ... + ".txt", true); 
3

Bạn có thể vượt qua sự thật như tham số thứ hai để các nhà xây dựng của FileWriter để hướng dẫn các nhà văn để nối thêm dữ liệu thay vì viết lại tập tin.

Ví dụ,

fout = new FileWriter ( "Distribution_" + Double.ToString (lowerBound) + "" + Double.ToString (_highBound) + ".txt", đúng);

Hy vọng điều này sẽ giải quyết được sự cố của bạn.

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