Java:System.out和System.err输出到同一个流?
使用Java:System.out和System.err输出到同一个流?,java,Java,使用System.out.println或System.err.println有什么区别?在控制台应用程序中,它们看起来几乎是一样的 有没有办法改变这一点?差异是在底层操作系统中定义的。默认情况下,这两个流都会发送到控制台(即您的监视器)。但是,用户可以独立地重定向它们。例如,在类似Unix的环境中,java MyClass>output.txt将System.out重定向到文件output.txt,但发送到System.err的任何内容仍将转到控制台。有关更多详细信息,您可以在谷歌上搜索std
System.out.println
或System.err.println
有什么区别?在控制台应用程序中,它们看起来几乎是一样的
有没有办法改变这一点?差异是在底层操作系统中定义的。默认情况下,这两个流都会发送到控制台(即您的监视器)。但是,用户可以独立地重定向它们。例如,在类似Unix的环境中,
java MyClass>output.txt
将System.out
重定向到文件output.txt
,但发送到System.err
的任何内容仍将转到控制台。有关更多详细信息,您可以在谷歌上搜索stdout
和stderr
;这些是大多数操作系统上这些流的典型名称。差异在底层操作系统中定义。默认情况下,这两个流都会发送到控制台(即您的监视器)。但是,用户可以独立地重定向它们。例如,在类似Unix的环境中,java MyClass>output.txt
将System.out
重定向到文件output.txt
,但发送到System.err
的任何内容仍将转到控制台。有关更多详细信息,您可以在谷歌上搜索stdout
和stderr
;这些是大多数操作系统上这些流的典型名称。这里清楚地定义了区别:
对于如何更改这些流(System.setErr、System.setOut、System.setIn),还定义了一些方法(您将在本文档中找到这些方法)此处明确定义了区别:
对于如何更改这些流(System.setErr、System.setOut、System.setIn),还定义了一些方法(您将在本文档中找到这些方法)
System.out
是标准输出,而System.err
是错误输出
- 一些IDE控制台以标准字体显示
,以红色显示System.out
System.out
- JavaWeb服务器会将err和out发送到两个不同的文件
- 使用命令行
将java-jar yourjar.jar>out.txt 2>err.txt
发送到System.out
和out.txt
发送到System.err
err.txt
System.out
是标准输出,System.err
是错误输出
- 一些IDE控制台以标准字体显示
,以红色显示System.out
System.out
- JavaWeb服务器会将err和out发送到两个不同的文件
- 使用命令行
将java-jar yourjar.jar>out.txt 2>err.txt
发送到System.out
和out.txt
发送到System.err
err.txt
system.err
是红色的。我使用eclipse,但这是标准的吗?我不认为我可以期望每个控制台都以这种方式管理红色输出。首先,当使用netbeans时,System.err
是红色的。我使用eclipse,但这是标准的吗?我不认为我可以期望每个控制台都能以这种方式管理红色输出。Shell重定向不同于设置要使用哪个系统的流。(out | in | err)。@WillC。也许我应该指定这些是默认值。我不知道可以用Java编程设置流。我从来没有这样做过,甚至在看到其他答案后,我也质疑这样做的有用性。我尝试了shell重定向将输出发送到文本文件,两个系统输出都被发送到一个文本文件,那么err发送到日志文件或其他什么呢?@Code Guru在运行时设置输出流的有用性在于,对于所有执行字节码的系统,都有一个一致的流被写入。Shell重定向不同于将流设置到哪个系统。(out | in | err)使用wilc。也许我应该指定这些是默认值。我不知道可以用Java编程设置流。我从来没有这样做过,甚至在看到其他答案后,我也质疑这样做的有用性。我尝试了shell重定向将输出发送到文本文件,两个系统输出都被发送到一个文本文件,那么err发送到日志文件或其他什么呢?@Code Guru在运行时设置输出流的有用性在于,对于所有执行字节码的系统,都有一个一致的流被写入。API文档的链接为+1。为完整起见,以下是Java 7的文档:。(当然,系统类的这一部分没有改变,所以这可能不是问题。)+1用于API文档的链接。为完整起见,以下是Java 7的文档:。(当然,系统类的这一部分没有改变,所以这可能不是问题。)