Как выйти из среды выполнения Java и сохранить мой текущий прогресс? - PullRequest
0 голосов
/ 10 января 2019

Я ищу способ сохранить мой прогресс перед выходом из среды выполнения Java. В настоящее время мой скрипт выполняет некоторый анализ, а затем записывает их в документ XLSX. Есть ли способ написать «выход» или что-то подобное в консоли, после чего мой сценарий будет продолжать писать в XLSX? Это достигается путем создания потоков? В данный момент у меня их нет, следовательно, он работает.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

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

Runtime.getRuntime().addShutdownHook(new Thread(() -> { //write to .xlsx }));

0 голосов
/ 10 января 2019

Просто прочитайте стандартный ввод (консоль) и сделайте что-то вроде if (command.equals ("exit") MyMainClass.exit () и создайте соответствующий метод с сохранением данных, а затем вызовите System.exit

...