`
eminemlqs
  • 浏览: 2982 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

system.out与system.err

阅读更多
大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。

三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。

在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.err。

在语言层面的实现三个文件描述符都是可以重定向的(只要你想)。但是一般而言,如果你在unix   shell或windows   command   line中使用管道或重定向,则只是针对标准输入和输出。

另外,标准输出和标准出错的一个区别是,标准输出往往是带缓存的,而标准出错没有缓存(默认设置,可以改)。所以如果你用标准出错打印出来的东西可以马上显示在屏幕,而标准输出打印出来的东西可能要再积累几个字符才能一起打印出来。如果你在应用中混用标准输出和标准出错就可能看到这个问题。

我的表达能力有限。总的来说,System.out用于正常的输出,也就是程序真正想输出的内容。而System.err用于出错信息的输出,也就是你本来不期待看到的东西。

System.out.println   能重定向到别的输出流,这样的话你在屏幕上将看不到打印的东西了,
而System.err.println只能在屏幕上实现打印,即使你重定向了也一样。(重定向:把本来输出到控制台的消息包装输出到其他地方,比如文件)
分享到:
评论

相关推荐

    Log4j将System.out搞到log4j中输出四

    当然,这只是基本的实现方式,实际应用中可能需要考虑更多细节,比如错误流的处理(`System.err.println()`)、多线程环境下的同步问题以及更复杂的过滤和日志级别控制等。通过这种方式,我们不仅可以将`System.out....

    java基础(System.err和System.out)详解

    System.err.println("Error occurred!"); } } ``` 可能的输出结果是: ``` Error occurred! Hello, World! ``` 或者: ``` Hello, World! Error occurred! ``` 这取决于缓存机制的实现。 使用注意事项 在使用out...

    tomcat输出输出着就不输出了,什么原因?解决方法是

    1. **日志重定向**:Tomcat默认配置下,标准输出(`System.out`)和标准错误(`System.err`)会被重定向到服务器的控制台日志中。如果Tomcat日志配置发生了变化或者日志文件达到了某个大小限制,那么新的输出可能会...

    Tomcat输出catalina.out的大小控制

    这意味着所有通过System.out.println()或System.err.println()打印的信息,包括Java应用的调试信息,都将被记录在此文件中。 控制`catalina.out`大小的方法主要有两种:一是配置Tomcat的logging.properties文件,二...

    Java I/O 标准输入输出流System.in

    在Java编程语言中,I/O(输入/输出)是程序与外部世界交互的重要部分,而标准输入输出流(System.in, System.out, System.err)是Java内置的预定义流,用于处理程序与操作系统之间的基本输入输出操作。这篇博客将深入...

    Java中System类.pdf

    该类是Java.lang包中的一个重要组件,主要提供了三个静态变量:System.out、System.in和System.err,用于控制台的输入输出。 System.out是一个PrintStream类型的对象,表示应用程序的终端窗口,可以使用print或...

    一个完整可用的证书签名(验签),加密(解密)java源码

    System.err.println("私钥签名——公钥验证签名"); // 产生签名 String sign = CertificateUtils.signToBase64(data.getBytes("utf-8"), keyStorePath, alias, password); System.out.println("私钥签名:" + ...

    java class反编译后的代码还原

    System.err.println(dae); throw new RuntimeException(dae); } return null; } return "Hello"; } ``` 注意,这个代码有点诡异,实际代码如下: ```java public String f4() { try { Integer i = new ...

    Java程序 中截获控制台 输出

    2. 使用`System.setOut()`和`System.setErr()`方法,将`System.out`和`System.err`替换为`CaptureStream`。 3. 当需要释放控制台输出时,可以通过恢复原始的`PrintStream`实例(通常是`System.out`和`System.err`)...

    java输入输出语句.doc

    Java 系统预先定义了三个流对象:System.out、System.in 和 System.err。其中,System.out 是标准输出流,用于将数据输出到屏幕上;System.in 是标准输入流,用于从键盘输入数据;System.err 是标准错误设备,用于...

    小白java基础实验一

    5. **错误输出(System.err.println)**:除了正常的输出流`System.out`,Java还提供了错误输出流`System.err`。当你想要突出显示错误信息或警告时,可以使用`System.err.println`,这样输出的颜色通常会更显眼。 6. ...

    Java编程案例

    这里将`System.out.println()`的结果传递给`System.err.println()`,但由于`System.out.println()`没有返回值,所以实际上这段代码并不会有任何实际作用。 #### 案例二:字符输出与循环打印 **知识点概述:** 本...

    System Lambda是一个函数集合,用于测试使用javalangSystem的代码.zip

    1. **标准输入/输出/错误流(System.in, System.out, System.err)**:在常规的单元测试中,很难控制这些流的输出。System Lambda 允许开发者替换这些流,以便于捕获、验证或模拟输入输出数据。 2. **系统属性...

    java输入输出语句整理总结.doc

    `System.err` 是标准错误设备,表示屏幕。 输出语句 输出语句是指将数据从程序内部输出到外部世界的语句。Java 中常用的输出语句有 `System.out.print()` 和 `System.out.println()`。`System.out.print()` 输出...

    2022年计算机二级考试Java入门教程:Java输入输出操作.docx

    System.err.println("total bytes."); } } ``` 3. 一般输入输出类 除了标准输入输出外,我们还需要使用文件的输入输出。Java 语言提供了多种类来实现文件输入输出,包括: * FileInputStream:用于读取文件的...

    Java实现远程执行SHELL

    Java实现远程执行SHELL, ...上传文件到远程服务器,下载远程服务器资源。... System.err.println("执行出错了-->" + resultEntity.getErrorMsg()); } } else { System.err.println("登陆失败"); }

    SimpleWeb CS.zip

    System.err.println("IOException: " + ioe); } } /* 通过建立的连接请求一个页面,显示回应然后关闭socket */ public static void getPage(Socket clientSocket) { try { // 需要输入和输出流

Global site tag (gtag.js) - Google Analytics