栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java控制台应用程序:System.out还是要走的路吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java控制台应用程序:System.out还是要走的路吗?

在旨在从命令行运行的命令中,合理使用(IMO)

System.out
System.err
用于输出以及用户可能期望理解的错误消息。如果您从一个不错的shell或脚本中运行应用程序,则
System.out
and
/ or
System.err
流可能会重定向到文件或管道中的另一个进程,但这是用户的选择。

在JDK
1.6和更高版本中,

java.io.Console
允许您的应用程序访问控制台。它在Javadoc中没有详细说明,但我怀疑会
java.io.Console
向控制台打开一个新的流,因此无法重定向。(从道德上讲,在老式的UNIX框上打开“
/ dev / tty”是等效的。)只有在您的应用程序希望确保它正在与用户对话且没有任何重定向的可能性时,才应使用它。例如,在请求和读取密码时。

但是请注意,这

Console
不能保证正常工作。实际上,可以观察到,当您从Eclipse …以及其他IDE中运行应用程序时,它不起作用。

但是,如果您的应用程序是GUI命令,特别是如果它打算作为无人值守服务运行,则应避免“写入控制台”,因为:

  • 控制台流(
    System.{out,err}
    java.io.Console
    )可能没有连接,或者
  • 用户可能不会注意到控制台输出,因为控制台窗口被掩埋了1,或者
  • 控制台输出可能最终使用户烦恼,尤其是在您的应用程序无法抑制它的情况下。

1-根据控制台输出的性质,这实际上可能恰恰是用户想要的。但是应用程序程序员需要考虑到这一点。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号