Tôi có một Java Properties
đối tượng mà tôi tải từ một trong bộ nhớ String
, mà trước đây đã được nạp vào bộ nhớ từ .properties
tập tin thực tế như thế này:Java Thuộc tính đối tượng để String
this.propertyFilesCache.put(file, FileUtils.fileToString(propFile));
Các util fileToString
thực sự đọc trong văn bản từ tệp và phần còn lại của mã lưu trữ nó trong một số HashMap
được gọi là propertyFilesCache
. Sau đó, tôi đọc các văn bản tập tin từ HashMap
như một String
và tải lại nó thành một Properties
đối tượng Java như vậy:
String propFileStr = this.propertyFilesCache.get(fileName);
Properties tempProps = new Properties();
try {
tempProps.load(new ByteArrayInputStream(propFileStr.getBytes()));
} catch (Exception e) {
log.debug(e.getMessage());
}
tempProps.setProperty(prop, propVal);
Tại thời điểm này, tôi đã thay thế tài sản của tôi trong tập tin thuộc tính trong bộ nhớ của tôi và tôi muốn lấy văn bản từ đối tượng Properties
như thể tôi đang đọc một đối tượng File
như tôi đã làm ở trên. Có một cách đơn giản để làm điều này hoặc tôi sẽ phải lặp qua các thuộc tính và tạo ra các String
bằng tay?
này đã làm các trick, cảm ơn! –
Cần lưu ý rằng điều này sẽ _not_ cung cấp cho bạn kết xuất thẳng về các thuộc tính, nghĩa là bạn không thể chỉ cần bật chuỗi đó vào một tệp và tải nó trở lại dưới dạng tệp thuộc tính. Điều này là do đó ** Properties.list() ** phương pháp prepends một tiêu đề vào danh sách: '- danh sách tài sản - ' Nhiều khả năng bạn muốn sử dụng ** Properties.store() * * phương pháp được mô tả trong nhận xét từ nhận xét @joev bên dưới. –