Tôi gặp phải vấn đề tương tự. Chuyển tiếp dấu gạch chéo /
cũng được thoát bằng phương pháp store()
trong Properties
.
Tôi đã giải quyết vấn đề này bằng cách tạo lớp CustomProperties
của riêng mình (mở rộng java.util.Properties
) và nhận xét cuộc gọi đến saveConvert()
theo phương thức customStore0()
.
Đây là lớp CustomProperties
tôi:
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Date;
import java.util.Enumeration;
import java.util.Properties;
public class CustomProperties extends Properties {
private static final long serialVersionUID = 1L;
@Override
public void store(OutputStream out, String comments) throws IOException {
customStore0(new BufferedWriter(new OutputStreamWriter(out, "8859_1")),
comments, true);
}
//Override to stop '/' or ':' chars from being replaced by not called
//saveConvert(key, true, escUnicode)
private void customStore0(BufferedWriter bw, String comments, boolean escUnicode)
throws IOException {
bw.write("#" + new Date().toString());
bw.newLine();
synchronized (this) {
for (Enumeration e = keys(); e.hasMoreElements();) {
String key = (String) e.nextElement();
String val = (String) get(key);
// Commented out to stop '/' or ':' chars being replaced
//key = saveConvert(key, true, escUnicode);
//val = saveConvert(val, false, escUnicode);
bw.write(key + "=" + val);
bw.newLine();
}
}
bw.flush();
}
}
Nguồn
2013-05-21 01:34:37
Tôi sợ bạn không thể.Nếu không, làm thế nào có thể các tập tin thuộc tính được đọc lại mà không gây nhầm lẫn "của bạn" dấu hai chấm, và dấu hai chấm sử dụng để phân định các giá trị quan trọng? – ewernli
Tạo một StringWriter, ghi tập tin thuộc tính của bạn vào nó, đi qua bộ đệm từng dòng tìm kiếm '" \: "', và thay thế nó bằng một '": "' duy nhất. Đây không phải là đẹp, nhưng sau đó một lần nữa những gì bạn đang cố gắng làm cũng không phải là rất đẹp. – dasblinkenlight
@BhavikAmbani 'Sử dụng cụm từ thông dụng' cho điều đó * làm cách nào? * Ở đâu chính xác bạn có cơ hội chỉ định biểu thức chính quy khi lưu tệp thuộc tính và RE chính xác như thế nào? – EJP