在Java中使用System.err.println()

在Java中使用System.err.println(),java,Java,在标准控制台上,所有内容都以白色打印,无论我们是在System.out还是System.err中编写的。在IDE(对于我来说是Eclipse)中,我们可以在控制台上看到这两个版本的不同颜色输出。i、 e.系统输出为黑色,系统错误为红色 IsSystem.err仅提供用于IDE?原因在cmd上,我们无法区分系统.out和系统.err。两者都以相同的颜色打印。这是两种不同的输出流,在大多数操作系统中都可用。由于终端/命令行环境的设置,您没有对它们进行颜色编码。另一方面,IDE为不同的流提供了不同的可

在标准控制台上,所有内容都以白色打印,无论我们是在
System.out
还是
System.err
中编写的。在IDE(对于我来说是Eclipse)中,我们可以在控制台上看到这两个版本的不同颜色输出。i、 e.
系统输出为黑色,系统错误为红色


Is
System.err
仅提供用于IDE?原因在cmd上,我们无法区分
系统.out
系统.err
。两者都以相同的颜色打印。

这是两种不同的输出流,在大多数操作系统中都可用。由于终端/命令行环境的设置,您没有对它们进行颜色编码。另一方面,IDE为不同的流提供了不同的可视化


如果您想对它们着色,请考虑使用ANSI转义序列。

< P>这是两个不同的输出流,在大多数OS中都可用。由于终端/命令行环境的设置,您没有对它们进行颜色编码。另一方面,IDE为不同的流提供了不同的可视化


如果您想对它们着色,请考虑使用ANSI转义序列。

< P> > <代码>系统。out < /COD>和<代码>系统。java中的Err < /> >始终存在。


根据您的控制台,可以让它以不同的颜色显示两个流。

Java中始终存在
System.out
System.err


根据您的控制台,可以让它以不同的颜色显示两个流。

System.out
转到标准输出流(stdout),而
System.err
转到标准错误流(stderr)。有关详细信息以及如何控制它们的去向,请参见。Eclipse只是方便地为您对它们进行颜色编码,以便您可以在一个视图中区分它们。

System.out
转到标准输出流(stdout)和
System.err
转到标准错误流(stderr)。有关详细信息以及如何控制它们的去向,请参见。Eclipse只是方便地为您对它们进行颜色编码,以便您可以在一个视图中区分它们。

来自:

System.err是一个打印流。 System.err的工作原理与System.out类似 除非它通常只用于 输出错误文本。一些程序 (如Eclipse)将向 红色文本中的System.err,使其 更明显的是,这是错误文本

发件人:

此变量的初始值为 “标准”错误输出流, 已打开并准备接受 输出数据。通常情况下 对应于显示输出或 指定了另一个输出目标 由主机环境或用户执行。通过 按照约定,使用此输出流 显示错误消息或其他 应提交给客户的信息 用户的即时关注,即使 主输出流,值 变量的输出,已被 重定向到文件或其他文件 目的地通常不是 持续监控。请注意 字段不是final,因此它的值可能是final 如有必要,请更新

  • 来自Java世界
  • Stackoverflow中的其他员额
来自:

System.err是一个打印流。 System.err的工作原理与System.out类似 除非它通常只用于 输出错误文本。一些程序 (如Eclipse)将向 红色文本中的System.err,使其 更明显的是,这是错误文本

发件人:

此变量的初始值为 “标准”错误输出流, 已打开并准备接受 输出数据。通常情况下 对应于显示输出或 指定了另一个输出目标 由主机环境或用户执行。通过 按照约定,使用此输出流 显示错误消息或其他 应提交给客户的信息 用户的即时关注,即使 主输出流,值 变量的输出,已被 重定向到文件或其他文件 目的地通常不是 持续监控。请注意 字段不是final,因此它的值可能是final 如有必要,请更新

  • 来自Java世界
  • Stackoverflow中的其他员额

这是unix世界的遗物,在unix世界中,大多数功能都是作为unix命令提供的,这些命令本来是要链接的。一个命令的输出用于馈送另一个命令,如下所示:

grep -i 'token' file | mail peter@address.de
管道符号仅重定向标准输出(System.out),而不重定向标准输出(System.err)。因此,在控制台上可以看到错误消息,常规输出将转到mail命令

如果只有一条溪流,人们就无法区分它们


不依赖命令行的Windows(在Windows Server 2008中发生了变化!)并没有再次发明,只是采用了unix概念,并使其在dos命令中可用。只是几乎没有一个只有Windows的用户知道他们的优点

这是unix世界的遗物,在unix世界中,大多数功能都是作为unix命令提供的,这些命令本来是要链接的。一个命令的输出用于馈送另一个命令,如下所示:

grep -i 'token' file | mail peter@address.de
管道符号仅重定向标准输出(System.out),而不重定向标准输出(System.err)。因此,在控制台上可以看到错误消息,常规输出将转到mail命令

如果只有一条溪流,人们就无法区分它们

不依赖命令行的Windows(在Windows Server 2008中发生了变化!)并没有再次发明,只是采用了unix概念,并使其在dos命令中可用。只是几乎没有一个只有Windows的用户知道他们的优点

示例使用:

try {
    Class.doSomething(myFile);
  } catch (Exception e){
    System.err.println("Fatal error performing doSomething: " + e);
    System.exit(-1);
  }
示例用法:

try {
    Class.doSomething(myFile);
  } catch (Exception e){
    System.err.println("Fatal error performing doSomething: " + e);
    System.exit(-1);
  }

@奥列格:告诉哈利这怎么可能会有帮助。@Dave,那么你认为在这种情况下,回答最初的问题是不够的,应该从你这里减去?@Oleg:我觉得所有不讨论可能性的答案