2012-02-17 23 views
5

Vì vậy, nếu chúng ta làm như thế này:Làm cách nào để lưu các giá trị vào các thuộc tính mà không xóa các khóa chưa sửa đổi?

Properties props = new Properties(); 
OutputStream osr = new FileOutputStream(Store.class.getResource("my.properties").getFile()); 

props.setProperty("wallboard_text_rgb", "aaa"); 
props.setProperty("wallboard_back_rgb", "bbb"); 

props.store(osr, ""); 

phím khác trong tài sản hiện có sẽ bị xóa, làm thế nào để tránh điều đó?

Trả lời

4

Tải thuộc tính từ tệp đó trước khi sửa đổi. Nói cách khác, thay thế

Properties props = new Properties(); 

với

Properties props = Properties.load(new FileInputStream(Store.class.getResource("my.properties").getFile())); 
1

Giải pháp đơn giản nhất là sử dụng

String filename = Store.class.getResource("my.properties").getFile(); 
OutputStream osr = new FileOutputStream(filename, true); // append. 

Nếu bạn không muốn giữ lại phụ thêm vào tập tin, bạn phải đọc tất cả các giá trị hiện có và viết lại chúng. Rất tiếc, các thuộc tính không giữ nguyên thứ tự hoặc nhận xét, các dòng trống, v.v.

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