Ahoj. Mám soubor, obsahující několik tisíc řádků ve stejném formátu. Snažím se na každý řádek přidat ID, tedy inkrementující se integer. Nemůžu přijít na chybu. Do souboru se nic nepřidá. Zkoušel jsem 2 „zaručená řešení“ (StackOverflow). Jediné, co mě napadá, je špatné zavíraní proudů... :
První nefunkční způsob:
public void addIDs() throws IOException {
int id = 0;
StringBuilder result = new StringBuilder();
LineIterator it = FileUtils.lineIterator(datovySoubor); // datovySoubor je typu File
try {
while (it.hasNext()) {
String line = it.nextLine();
result.append(id).append(",").append(line);
id++;
}
} finally {
it.close();
}
}
Druhý nefunkční způsob:
public void addIDs() throws IOException {
FileInputStream fis = new FileInputStream(datovySoubor);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
BufferedWriter bw = new BufferedWriter(new FileWriter(datovySoubor, true));
String line;
int id = 0;
while ((line = br.readLine()) != null) {
bw.write(id + "," + line);
bw.newLine();
id++;
}
br.close();
bw.close();
fis.close();
}