Я искал прошлый час, пытаясь найти причину этого, но ничего не нашел. Это очень маленький текстовый файл (максимум 4 символа), поэтому я не беспокоился о BufferedReader
или BufferedWriter
. Проблема заключается в том, что, хотя у меня есть писатель, вставьте переменную в файл и даже закройте файл, он фактически не сохраняет изменения в файле. Я проверил это, проверив файл сразу после запуска метода, содержащего этот код.Java FileWriter вообще не меняет файл
try {
int subtract = Integer.parseInt(secMessage[2]);
try {
String deaths = readFile("C:/Users/Samboni/Documents/Stuff For Streaming/deaths.txt", Charset.defaultCharset());
FileWriter write = new FileWriter("C:/Users/Samboni/Documents/Stuff For Streaming/deaths.txt");
int comb = Integer.parseInt(deaths) - subtract;
write.write(comb);
write.close();
sendMessage(channel, "Death count updated to " + comb);
} catch (IOException e) {
e.printStackTrace();
}
} catch (NumberFormatException e) {
e.printStackTrace();
sendMessage(channel, "Please use numbers to modify death count");
}
EDIT: Так как он был задан вопрос, вот мой ReadFile сообщение:
static String readFile(String path, Charset encoding) throws IOException {
byte[] encoded = Files.readAllBytes(Paths.get(path));
return new String(encoded, encoding);
}
Я уже проверил его и возвращает содержимое без ошибок.
EDIT2: Проводка метода readFile заставила меня задуматься над чем-то, чтобы попробовать, поэтому я удалил его (код выше также обновлен) и попробовал его снова. Теперь он записывает файл, но не пишет то, что я хочу. Новый вопрос будет сделан для этого.
Что делает 'readFile (...)' do? Я не думаю, что ваш размещенный код и текст достаточны, чтобы мы могли понять вашу проблему достаточно, чтобы ответить на нее. Если вы не получите достойный ответ в ближайшее время, подумайте о создании и публикации [Минимальной, полной и проверенной примерной программы] (http://stackoverflow.com/help/mcve). –
Пожалуйста, не перекладывайте свои требования на нас. На ваш вопрос был дан ответ, и вы должны принять первое правильное решение. У вас теперь есть новая проблема, и это должно быть частью нового отдельного вопроса. –
О, ладно, извините. Тогда я это сделаю. – Samboni