выполнение программы никогда не останавливается при записи в файлы с использованием FileOutputStream в Java - PullRequest
0 голосов
/ 04 июня 2018

это код для создания файла конфигурации, если он не существует.во время выполнения файл создается и содержимое успешно записывается в файл.Но выполнение программы никогда не останавливается

FileOutputStream obj = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(obj);    
Writer input = new BufferedWriter(osw);
input.write("autoupdate = false\n");
input.write("autoscan = false");
input.close();

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Что вы подразумеваете под "выполнение программы никогда не останавливается" ?Ты явно не все здесь показываешь.Что должно остановить выполнение программы в вашем приложении?Или ты имеешь в виду что-то совсем другое?

Кроме пары маленьких причуд, я не понимаю, как твой код предполагает бесконечное поддержание выполнения программы, но эй, я стар и больше не могу видеть хорошо.

Если вы используете Java 7 или новее, было бы полезно использовать Try-with-Resources Statement , поскольку он автоматически закроет все для вас.Вот пример:

try (Writer writer = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream("ConfigFile.conf"), "UTF-8"))) {
    writer.write("autoupdate = false" + System.lineSeparator());
    writer.write("autoscan = false" + System.lineSeparator());
}
catch (IOException ex) {
    ex.printStackTrace();
}
0 голосов
/ 04 июня 2018

Может ли это быть с Windows?Вы не указали свою ОС.Попробуйте с FileWriter.

try (FileWriter writer = new FileWriter(file)) {
    writer.write("autoupdate = false\n");
    writer.write("autoscan = false");
}
...