当前位置: 首页 > 面试题库 >

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

鞠征
2023-03-14
问题内容

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


问题答案:

如果已连接,System.console()将返回您的应用程序所连接的控制台,否则返回null。(请注意,它仅在JDK
6及更高版本中可用。)



 类似资料:
  • 问题内容: 有没有办法检测是否已连接到控制台终端?例如,我希望能够检测foo.py是否通过以下方式运行: 要么 我问这个问题的原因是,我想确保进度条显示仅在前一种情况下发生(真实控制台)。 问题答案: if sys.stdout.isatty(): # You’re running in a real terminal else: # You’re being piped or redirecte

  • 交互式应用程序通常要分别用类 istream 和 ostream 输入和输出数据。当提示信息出现在屏幕上时,用户输入一个数据来响应。显然,提示信息必须在执行输入操作前出现。在有输出缓冲区的情况下,只有在缓冲区已满时、在程序中明确地刷新输出缓冲区时或因程序结束而自动刷新输出缓冲区时,输出信息才会显示到屏幕上。为保证输出要在下一个输入前显示,C++ 提供了成员函数tie,该函数可以实现输入/输出操作的

  • 问题内容: 我下面有以下代码示例。你可以在其中输入的命令,即回显结果。但是,先读后。其他输出流不起作用? 为什么会这样或我做错了什么?我的最终目标是创建一个线程计划任务,该任务定期执行对/ bash的命令,因此必须一前一后工作,而不能停止工作。我也一直在经历错误的任何想法? 谢谢。 问题答案: 首先,我建议更换生产线 与线 ProcessBuilder是Java 5中的新增功能,它使运行外部进程更

  • 本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1. 什么是输入和输出(I / O) 1.1 基本概念 输入/输出这个概念,对于计算机相关专业的同学并不陌生,在计算中,输入/输出(Input / Output,缩写为 I / O)是信息处理系

  • 问题内容: 我正在制作一个简单的程序,可让您添加比赛结果以及完成比赛所用的秒数。所以要输入时间,我这样做: 所以我的问题是,如果用户输入的不是正数,该如何向用户显示错误消息?就像MessageDialog一样,在输入数字之前会提示您错误。 问题答案: 如果无法解析,则会抛出一个。如果您只想在输入无效的情况下重试,则将其包装成这样的循环:

  • 我想用java代码调用一个外部程序,然后Google告诉我Runtime或ProcessBuilder可以帮助我完成这项工作。我试过了,结果发现java程序无法退出,这意味着子进程和父进程都将永远等待。它们要么挂起,要么陷入僵局。 有人告诉我原因是子进程的缓存太小了。当它试图将数据返回给父进程时,但是父进程没有及时读取它,然后他们两个都挂起了。所以他们建议我叉一个线程来负责读取子进程的缓存数据。我