Я хочу знать, есть ли способ получить, запускается ли jar с консоли с помощью java -jar
или как исполняемый файл (таким образом, используя javaw
). Я создаю клиент ssh, поэтому я хочу использовать System.in
, System.out
, System.err
и JTextPane
за один раз.
заранее спасибо
Вы можете использовать System.console()
. С javaw он вернет null.
Я думаю, вы спрашиваете, How to determine if you're running from a JAR
, и в этом случае ознакомьтесь с этим руководством: Определите, работает ли JAR из JAR
java -jar jar_file console
В моей Windows 8 с Java 8 System.in
автоматически закрывается, если.jar уставился двойным щелчком. С помощью этой демонстрации:
public static void main(String[] main) throws Exception {
Scanner scan = new Scanner(System.in);
if (scan.hasNextLine()) {
System.out.println("from console");
} else {
JOptionPane.showMessageDialog(null, "From widows");
}
scan.close();
}
Когда double.clicked, From windows
сообщение " From windows
. Однако в консоли вам нужно ввести строку, чтобы увидеть сообщение from console
. Это не оптимально, но, по крайней мере, что-то.