私は同じ問題を抱えていました。スラッシュ/
ものstore()
メソッドでエスケープします。
私は(java.util.Properties
を拡張)私自身のCustomProperties
クラスを作成し、customStore0()
方法でsaveConvert()
への呼び出しをコメントアウトすることで、この問題を解決しました。私はあなたができない恐れ
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();
}
}
:
は、ここに私の
CustomProperties
クラスです。さもなければ、あなたの "コロン"を混乱させずにプロパティファイルをどのように読み返すことができ、コロンはキー値の区切りに使うことができますか? – ewernliStringWriterを作成し、その中にプロパティファイルを書き、バッファを1行ずつ探して ':\ 'を探し、それを単一の' ':' 'で置き換えます。これはきれいではありませんが、あなたがやろうとしていることもまたそれほど美しくありません。 – dasblinkenlight
@BhavikAmbani「*正規表現を使用する」*プロパティファイルを保存するときに正規表現を指定する場所は正確ですが、REはどのように見えますか? – EJP