我想知道,有没有办法获得,jar是使用java -jar
从控制台运行,还是作为可执行文件(因此使用javaw
)。我正在创建一个ssh客户端,所以我想一次性使用System.in
,System.out
,System.err
和JTextPane
。
提前致谢
答案 0 :(得分:1)
您可以使用System.console()
。使用javaw,它将返回null。
答案 1 :(得分:0)
我认为你问How to determine if you're running from a JAR
,在这种情况下请查看本教程:Determine if running from JAR
答案 2 :(得分:0)
在带有Java 8的Windows 8中,如果通过双击盯着.jar,System.in
将自动关闭。通过这个演示:
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 console
消息。它不是最佳的,但至少是一些东西。