2011-12-17 68 views
61

Nếu bạn làm việc với các phương pháp FileOutputStream, mỗi lần bạn viết tệp của mình thông qua các phương pháp này, bạn đã bị mất dữ liệu cũ của mình. Có thể ghi tệp mà không làm mất dữ liệu cũ của bạn qua FileOutputStream không?Làm thế nào để ghi dữ liệu với FileOutputStream mà không làm mất dữ liệu cũ?

+1

Nếu bạn đang tự hỏi làm thế nào bạn có thể làm việc điều này cho chính mình, bạn có thể đã đọc Javadoc. http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html –

+0

[OutputStreamWriter được sử dụng thay vì FileOutputStream] [1] [1]: http://stackoverflow.com/questions/23320070/appending-a-string-to-an-existing-file-using-outputstreamwriter/23320195?noredirect=1#comment35707473_23320195 – sourabh

+1

@PeterLawrey để tìm hiểu bằng chính chúng ta, người ta thường chỉ cần hỏi internet. Và SO là kết quả đầu tiên trước khi tài liệu java :-) –

Trả lời

114

Sử dụng các nhà xây dựng mà phải mất một Fileboolean

FileOutputStream(File file, boolean append) 

và đặt boolean để true. Bằng cách đó, dữ liệu bạn viết sẽ được thêm vào cuối tệp, thay vì ghi đè lên những gì đã có ở đó.

18

Sử dụng các constructor cho phụ liệu vào file:

FileOutputStream(File file, boolean append) 
Creates a file output stream to write to the file represented by the specified File object. 

Vì vậy, để nối thêm vào một tập tin nói "abc.txt" sử dụng

FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true); 
Các vấn đề liên quan