何か短くしたい場合は、これを使用できます。
public static void changeProperty(String filename, String key, String value) throws IOException {
Properties prop =new Properties();
prop.load(new FileInputStream(filename));
prop.setProperty(key, value);
prop.store(new FileOutputStream(filename),null);
}
残念ながら、注文やフィールドやコメントは保存されません。
注文を保存したい場合は、一度に1行ずつ読むことはそれほど悪くありません。
このテストされていないコードは、コメント、空白行および注文を保持します。複数行の値は扱えません。
public static void changeProperty(String filename, String key, String value) throws IOException {
final File tmpFile = new File(filename + ".tmp");
final File file = new File(filename);
PrintWriter pw = new PrintWriter(tmpFile);
BufferedReader br = new BufferedReader(new FileReader(file));
boolean found = false;
final String toAdd = key + '=' + value;
for (String line; (line = br.readLine()) != null;) {
if (line.startsWith(key + '=')) {
line = toAdd;
found = true;
}
pw.println(line);
}
if (!found)
pw.println(toAdd);
br.close();
pw.close();
tmpFile.renameTo(file);
}
は、この設定のために必要なファイルですか?データベースについてはどうですか? –
ファイルを読む必要があるので、ファイルを1行ずつ読み込み、その行を新しいファイルに書き留めておきましょう。ポートが来たら、変更された値を書き込むことを知っています。 – Zohaib
うん、それで私はとても欲求不満になる。 –