21xrx.com
2024-12-23 01:29:45 Monday
登录
文章检索 我的文章 写文章
如何在运行Java时隐藏cmd窗口
2023-06-12 02:22:06 深夜i     --     --
Java 隐藏cmd Launch4j JSmooth 重定向输出

当我们运行Java程序时,通常会打开一个命令提示符窗口(cmd)来显示程序的输出和运行状态。但是在某些情况下,我们可能希望隐藏这个窗口,比如说当我们开发一个桌面程序并希望程序界面是独立的时候。那么如何在运行Java时隐藏cmd窗口呢?

首先,我们可以使用一些第三方库来实现这个功能,比如Launch4j和JSmooth等。这些库可以将Java程序打包成一个独立的可执行文件,可以隐藏cmd窗口并且提供更多的功能,比如创建快捷方式等。

但是如果你不想使用这些第三方库,也可以通过Java代码来实现。具体步骤如下:

1. 将Java程序打包成一个可执行的Jar文件。

2. 在程序的入口点(一般是Main方法)中添加以下代码:


if (System.console() == null && !GraphicsEnvironment.isHeadless()) {

  String filename = "output.txt"; //将输出重定向至文件

  FileOutputStream fos = new FileOutputStream(filename, true);

  System.setOut(new PrintStream(fos));

  System.setErr(new PrintStream(fos));

}

这段代码的意思是,如果当前程序运行时没有控制台(也就是cmd窗口),并且当前环境不是无图形界面(headless),那么将输出重定向到一个文件中,从而隐藏掉输出信息,相当于隐藏了cmd窗口。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复