Я предлагаю сохранить все содержимое исходного файла (либо в памяти, либо во временном файле; я сделаю это в памяти), а затем запишите его снова, включая изменения.Я считаю, что это будет работать:
public static void replaceSelected(File file, String type) throws IOException {
// we need to store all the lines
List<String> lines = new ArrayList<String>();
// first, read the file and store the changes
BufferedReader in = new BufferedReader(new FileReader(file));
String line = in.readLine();
while (line != null) {
if (line.startsWith(type)) {
String sValue = line.substring(line.indexOf('=')+1).trim();
int nValue = Integer.parseInt(sValue);
line = type + " = " + (nValue+1);
}
lines.add(line);
line = in.readLine();
}
in.close();
// now, write the file again with the changes
PrintWriter out = new PrintWriter(file);
for (String l : lines)
out.println(l);
out.close();
}
И вы бы вызвали метод, подобный этому, предоставив файл, который вы хотите изменить, и имя значения, которое вы хотите выбрать:
replaceSelected(new File("test.txt"), "nameOfValue2");