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

| 在标准控制台上,无论我们以things0ѭ还是
System.err
书写,所有内容均以白色打印。在IDE(对我来说是Eclipse)中,我们可以在控制台上看到两种颜色的不同输出。即黑色代表
System.out
,红色代表
System.err
。 是否仅在IDE中提供“ 1”?由于cmd,我们无法区分
System.out
System.err
。两者均以相同颜色打印。     
已邀请:
这是在大多数OS中可用的两个不同的输出流。由于您的终端/命令行环境的设置,您没有对它们进行颜色编码。另一方面,您的IDE为不同的流提供不同的可视化。 如果要给它们着色,请考虑使用ANSI转义序列。     
这是来自unix世界的遗物,在unix世界中,大多数功能都可以作为要链接的unix命令使用。一个命令的输出用于输入另一个命令,如下所示:
grep -i \'token\' file | mail peter@address.de
管道符号仅重定向标准输出(System.out),而不重定向标准错误(System.err)。因此,错误消息将在控制台上看到,并且常规输出将进入mail命令。 如果只有一个流,则无法区分它们。 Windows不再依赖命令行(Windows Server 2008中已更改!)并没有再次发明,而是采用了unix概念并将其也可以在dos命令中使用。仅仅是几乎没有Windows用户通常知道他们的优势。     
由于系统出错误:   System.err是一个PrintStream。   System.err的工作方式类似于System.out   除了通常只用于   输出错误文本。一些程序   (例如Eclipse)将显示输出到   用红色文本表示的System.err   更明显的是它是错误文本。 从JLS:
20.18.3 public static PrintStream err;
  该变量的初始值为   一个“标准”错误输出流,   已经开放并准备接受   输出数据。通常,这   对应于显示输出或   指定了另一个输出目的地   由主机环境或用户决定。通过   约定,使用此输出流   显示错误消息或其他   应该传到的信息   用户的即时关注,即使   主要输出流,值   的变量,已经   重定向到文件或其他   通常不是目的地   持续监控。注意这个   字段不是最终值,因此其值可能   必要时进行更新。 来自Java World 02-qa-1220-console.html Stackoverflow在Windows中使用Java着色文本的其他文章     
System.out
进入标准输出流(stdout),
System.err
进入标准错误流(stderr)。有关详细信息以及如何控制它们的流向,请参阅标准流。 Eclipse只是为您方便地为其颜色编码,因此您可以在一个视图中区分它们。     
System.out
System.err
在Java中始终存在。 根据您的控制台,可能有可能使它以不同的颜色显示两个流。     
使用示例:
try {
    Class.doSomething(myFile);
  } catch (Exception e){
    System.err.println(\"Fatal error performing doSomething: \" + e);
    System.exit(-1);
  }
    

要回复问题请先登录注册