相关疑难解决方法(0)

如何检查Java程序的输入/输出流是否连接到终端?

我希望Java程序具有不同的默认设置(详细程度,可能是支持的彩色输出),具体取决于其用途.在C中,有一个isatty()函数,如果文件描述符连接到终端,则返回1,否则返回0.在Java中是否有相同的功能?我没有在JavaDoc中看到任何有关InputStream或PrintStream的内容.

java terminal console

39
推荐指数
5
解决办法
9017
查看次数

确定STDERR是否要转到终端

我有一套Java程序,在我们的Linux服务器上用作命令行工具.他们中的大多数都使用在STDERR上打印进度条的类,类似于Perl Term::ProgressBar.

我想在STDERR进入终端时显示进度条,并在重定向STDERR时自动禁用自身,以便重定向数据中没有所有类型的进度条.

检查System.console() == null是我的第一个想法,但重定向STDOUT就足以实现这一点true,即使STDERR仍在进入终端.有什么我可以检查特定于STDERR的东西吗?特定于Linux或使用本机API的解决方案可以满足我的需求.

java linux command-line-interface stderr io-redirection

5
推荐指数
1
解决办法
226
查看次数