Làm thế nào để ghi dữ liệu bằng FileOutputStream mà không làm mất dữ liệu cũ?


86

Nếu bạn làm việc với FileOutputStreamcác phương thức, mỗi lần bạn ghi tệp của mình qua các phương pháp này, bạn sẽ 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 thông qua FileOutputStreamkhông?


1
Nếu bạn đang tự hỏi làm thế nào bạn có thể giải quyết vấn đề này cho chính mình, bạn có thể đọc Javadoc. docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
Peter Lawrey

[OutputStreamWriter được sử dụng thay vì FileOutputStream] [1] [1]: stackoverflow.com/questions/23320070/…
sourabh

1
@PeterLawrey để tự học, người ta thường chỉ cần hỏi internet. Và SO là kết quả đầu tiên trước java doc :-)
Juh_

Câu trả lời:


150

Sử dụng hàm tạo nhận a Filevà aboolean

FileOutputStream(File file, boolean append) 

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


20

Sử dụng hàm tạo để thêm vật liệu vào tệp:

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

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

FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.