Я знаю предыдущие вопросы, КАК этот вопрос был задан, но этот вопрос имеет отношение к специфике написанного мной кода. Я пытаюсь обновить одну строку кода в файле, который будет постоянно обновляться, даже когда программа завершается так, что данные могут быть снова подняты. Метод, который я пишу в настоящее время выглядит следующим образом (без компиляции ошибок, найденных с затмением)Обновление одной строки в текстовом файле с использованием метода Java
public static void editLine(String fileName, String name, int element,
String content) throws IOException {
try {
// Open the file specified in the fileName parameter.
FileInputStream fStream = new FileInputStream(fileName);
BufferedReader br = new BufferedReader(new InputStreamReader(
fStream));
String strLine;
StringBuilder fileContent = new StringBuilder();
// Read line by line.
while ((strLine = br.readLine()) != null) {
String tokens[] = strLine.split(" ");
if (tokens.length > 0) {
if (tokens[0].equals(name)) {
tokens[element] = content;
String newLine = tokens[0] + " " + tokens[1] + " "
+ tokens[2];
fileContent.append(newLine);
fileContent.append("\n");
} else {
fileContent.append(strLine);
fileContent.append("\n");
}
}
/*
* File Content now has updated content to be used to override
* content of the text file
*/
FileWriter fStreamWrite = new FileWriter(fileName);
BufferedWriter out = new BufferedWriter(fStreamWrite);
out.write(fileContent.toString());
out.close();
// Close InputStream.
br.close();
}
} catch (IOException e) {
System.out.println("COULD NOT UPDATE FILE!");
System.exit(0);
}
}
Если бы вы могли посмотреть на код и дайте мне знать, что вы могли бы предположить, что было бы замечательно, потому что в настоящее время я только получая мое сообщение об уловах.
Можете ли вы изменить свой код, чтобы он выдавал полное исключение перед сообщением catch? – mjuarez
Прочтите все. Напишите все. – christopher
Вы игнорируете исключение и, следовательно, не знаете, почему вы его получили. Удалите блок ctach полностью или, по крайней мере, добавьте в него 'e.printStackTrace()'. –