Как сделать выход из программы java

Какой лучший способ выйти из приложения Java с кодом?

user445584 19 апр ’10 в 21:15 2010-04-19 21:15
2010-04-19 21:15

12 ответов

Ты можешь использовать System.exit() для этого.

Согласно документации Oracle 8 к Java:

public static void exit(int status)

Завершает текущую запущенную виртуальную машину Java. Аргумент служит кодом состояния; условно, ненулевой код состояния указывает на ненормальное завершение.

Этот метод вызывает метод выхода в классе Runtime. Этот метод никогда не возвращается нормально.

Вызов System.exit(n) эффективно эквивалентно вызову:

Runtime.getRuntime().exit(n)

user82865 19 апр ’10 в 21:16 2010-04-19 21:16
2010-04-19 21:16

System.exit(0);

«0» позволяет любому, кто вызвал вашу программу, знать, что все прошло нормально. Однако, если вы выходите из-за ошибки, вам следует System.exit(1); или с другим ненулевым числом, соответствующим конкретной ошибке.

Кроме того, как уже упоминали другие, очистить в первую очередь! Это предполагает закрытие файлов и других открытых ресурсов.

№14 Java c нуля. Выход из циклов Break. Возврат управления |для новичков | Java с нуля | #Java | #1С

user300807 19 апр ’10 в 21:20 2010-04-19 21:20
2010-04-19 21:20

System.exit(int i) должен быть использован, но я бы включил его в более общий shutdown() метод, в котором вы также включили бы этапы «очистки», закрытие соединений сокетов, дескрипторы файлов, а затем выход с System.exit(x) ,

user316198 20 апр ’10 в 01:55 2010-04-20 01:55
2010-04-20 01:55

System.exit() обычно это не лучший способ, но это зависит от вашего приложения.

Обычный способ завершить приложение — выйти из main() метод. Это не работает, когда работают другие потоки не-deamon, как обычно для приложений с графическим интерфейсом пользователя (AWT, Swing и т. Д.). Для этих приложений вы либо найдете способ завершить цикл обработки событий GUI (не знаю, возможно ли это с помощью AWT или Swing), либо вызвать System.exit() ,

Источник: stackru.com

Как выйти из Java-приложения из программы

public static void exit(int status) Завершает работу текущей виртуальной машины Java. Аргумент служит кодом состояния; по соглашению ненулевой код состояния указывает на аварийное завершение. Этот метод вызывает метод выхода в классе Runtime. Этот метод никогда не возвращает нормально. Вызов System.exit(n) фактически эквивалентен вызову: Runtime.getRuntime().exit(n)

person Jon schedule 19.04.2010

System.exit(0);

«0» дает знать, кто звонил в вашу программу, что все прошло нормально. Если, однако, вы выходите из-за ошибки, вам следует System.exit(1); или с другим ненулевым числом, соответствующим конкретной ошибке. Кроме того, как уже упоминали другие, сначала очистите! Это включает в себя закрытие файлов и других открытых ресурсов.

Читайте также:
В какой программе можно заполнить НДС

person Chris Cooper schedule 19.04.2010
Я думал, что это System.exit (1)? — person AFK; 20.04.2010

Intellij idea 2: Создание и запуск приложения

Как утверждает Крис, System.exit(1) (или любое другое число) означает, что вы хотите указать, что он закрыт из-за ошибки. System.exit(0) указывает, что программа закрылась нормально. Вы также можете изменить 1 на любое число, которое вам нравится, тогда, когда вы запускаете свое приложение из сценария, вы можете определить, произошла ли ошибка. — person StormFoo; 24.11.2011

System.exit(int i) должен использоваться, но я бы включил его в более общий метод shutdown() , в который вы также должны включить шаги «очистки», закрытие соединений сокетов, дескрипторы файлов, затем выход с помощью System.exit(x) .

person Bastien schedule 20.04.2010

System.exit() обычно не лучший способ, но это зависит от вашего приложения. Обычный способ завершить приложение — выйти из метода main() . Это не работает, когда работают другие потоки, не относящиеся к deamon, как это обычно бывает для приложений с графическим пользовательским интерфейсом (AWT, Swing и т. Д.). Для этих приложений вы либо находите способ завершить цикл событий графического интерфейса пользователя (не знаю, возможно ли это с помощью AWT или Swing), либо вызываете System.exit() .

person Christian Semrau schedule 19.04.2010

Использование dispose(); — очень эффективный способ закрытия ваших программ. Я обнаружил, что использование System.exit(x) сбрасывает панель взаимодействий и, если вам нужна какая-то информация, она исчезает.

person Joshua schedule 17.06.2011

  • вы используете соответствующее значение выхода. 0 — нормальный выход, все остальное указывает на ошибку
  • вы закрываете все потоки ввода и вывода. Файлы, сетевые подключения и т. Д.
  • вы регистрируете или распечатываете причину выхода, особенно если это из-за ошибки

person Freiheit schedule 19.04.2010

Ответ — System.exit (), но это не лучший вариант, поскольку это приводит к прерыванию программы. Никакой уборки, разрушения, которое вы намереваетесь сделать, не произойдет.

person Vaishak Suresh schedule 20.04.2010

На этот вопрос есть два простых ответа.

Это «Профессиональный путь»:

//This just terminates the program. System.exit(0);

Читайте также:
На ночь глядя о чем программа

Это более неуклюжий способ:

//This just terminates the program, just like System.exit(0). return;
person Anton schedule 27.07.2015

System.exit(0); return; тоже хорошо, return предотвращает запуск любого ruther кода до того, как Система сможет выйти, иначе вам понадобится флаг (.. i.e. if (!called_exit) < further code after exit statement >- person ycomp; 15.04.2016

System.exit() будет делать то, что вы хотите. Но в большинстве ситуаций вы, вероятно, захотите выйти из потока и оставить основной поток живым. Таким образом вы можете завершить задачу, но при этом сохранить возможность запускать другую задачу без перезапуска приложения.

person SmartFingers schedule 13.10.2017

System.exit (ABORT); Немедленно прекратите процесс.

person pooploser0110 schedule 22.04.2014
Не существует такой переменной, как ABORT. — person Alfonso Vergara; 22.08.2016

Это должно происходить правильно:

person user3596517 schedule 14.10.2015
person schedule

Лучше: Runtime.getRuntime (). Halt (0); У меня отлично работал в Scala! — person Gerhard Hagerer; 27.05.2013

Из документации Javadoc для halt : этот метод следует использовать с особой осторожностью. В отличие от метода exit , этот метод не вызывает запуск обработчиков завершения работы и не запускает неактивированные финализаторы, если включена финализация при выходе. Если последовательность выключения уже была инициирована, этот метод не ожидает, пока какие-либо запущенные обработчики выключения или финализаторы завершат свою работу. Короче говоря, вам не нужно использовать halt , вы должны предпочесть exit . — person Erwin Bolwidt; 11.06.2017

Источник: evogeek.ru

Как заставить Java-программу закрыться через пару секунд

В любом случае я могу выйти из java-программы через пару секунд, например, 5 секунд.

Я знаю, что вы можете выйти из программы Java, используя:

System.exit(0);

Но я не уверен, означает ли 0 секунды, так как этот код:

System.exit(10);

также мгновенно выходит

Это интересно, но с какой стати вам выходить из работающей ВМ? — Eugene

0 does not stand for seconds . В System.exit(X) X — это код выхода из вашей программы (то, что он сообщит вызывающей оболочке), он не имеет ничего общего со временем. — KevinDTimm

5 ответы

System.exit(0) указывает код ошибки выхода программы.

вы можете поставить его на таймер и запланировать задачу

import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class TimedExit < Timer timer = new Timer(); TimerTask exitApp = new TimerTask() < public void run() < System.exit(0); >>; public TimedExit() < timer.schedule(exitApp, new Date(System.currentTimeMillis()+5*1000)); >>

Читайте также:
Как определить вредоносную программу на смартфоне Андроид

и тогда вы можете просто вызвать TimedExit()

ответ дан 01 апр.

Спасибо, я использовал эту идею и обновил ее до java 8. Теперь он однострочный: Executors.newSingleThreadScheduledExecutor().schedule(() -> System.exit(0), 60, TimeUnit.SECONDS); — Paul S

Вы можете вызвать Thread.sleep() непосредственно перед выходом из программы:

// Your code goes here. try < Thread.sleep(5000); >catch (InterruptedException e) < // log the exception. >System.exit(0);

ответ дан 13 апр.

это может привести к сбою, если включена проверка безопасности — Евгений

от System.exit (число) документация по методу:

Завершает работающую в данный момент виртуальную машину Java. Аргумент служит кодом состояния; по соглашению ненулевой код состояния указывает на ненормальное завершение.

Если вам нужно что-то выполнить во время ожидания выхода, вы можете создать поток управления, который будет просто ждать нужного времени для выполнения выхода следующим образом:

public class ExitFewMiliseconds < public static void main(String args[]) < new Thread(new Runnable() < public void run() < try < Thread.sleep(100); >catch (InterruptedException e) < e.printStackTrace(); >System.exit(0); > >).start(); while (true) < System.out.println(«I’m doing something»); >> >

Если ничего не будет выполняться во время ожидания выхода, вы можете просто использовать Thread.sleep (мс)

ответ дан 01 апр.

0, который вы передаете в System.exit(0), не имеет ничего общего с тем, как долго он будет ждать перед выходом. Javadocs — ваш друг. Из javadoc:

Аргумент служит кодом состояния; по соглашению ненулевой код состояния указывает на ненормальное завершение.

Другие ответы уже охватывают, как подождать 5 секунд перед выходом, если вам действительно нужно это сделать.

ответ дан 01 апр.

import java.util.Timer; import java.util.TimerTask; /** * Simple demo that uses java.util.Timer to schedule a task * to execute once 5 seconds have passed. */ class Reminder < Timer timer; public Reminder(int seconds) < timer = new Timer(); timer.schedule(new RemindTask(), seconds * 1000); >class RemindTask extends TimerTask < public void run() < System.out.format(«Time’s up!%n»); System.exit(); timer.cancel(); //Terminate the timer thread >> public static void main(String args[]) < new Reminder(10); System.out.format(«Task scheduled.%n»); >>

Таким образом, вы можете использовать класс Timer и выйти из системы через определенный интервал времени.

ответ дан 05 мар ’17, в 19:03

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками java system exit seconds or задайте свой вопрос.

Источник: stackovergo.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru