@nemnogodanil

Как сделать чтобы при завершении работы программы происходило автоматическое сохранение значения переменной?

Как сделать так, чтобы после закрытия программы значение переменной сохранялось, и при последующем запуске у переменной уже было то значение, когда была закрыта последний раз программа?
  • Вопрос задан
  • 380 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
public class Example {
    private static final String FILE_NAME = "state.dat";

    private int value;

    public void setValue(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    public static void main(String[] args) {
        Example obj = new Example();

        try (InputStream in = new FileInputStream(FILE_NAME)) {
            obj.setValue(in.read());
        } catch (IOException exc) {
            exc.printStackTrace();
        }

        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            try (OutputStream out = new FileOutputStream(FILE_NAME)) {
                out.write(obj.getValue());
            } catch (IOException exc) {
                exc.printStackTrace();
            }
        }));
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы