命令中的“2”是啥,同时将 System.out , System.err Java 消息重定向到文件 [重复]
Posted
技术标签:
【中文标题】命令中的“2”是啥,同时将 System.out , System.err Java 消息重定向到文件 [重复]【英文标题】:What is "2" in command, while redirecting both System.out , System.err Java messages to file [duplicate]命令中的“2”是什么,同时将 System.out , System.err Java 消息重定向到文件 [重复] 【发布时间】:2017-08-28 01:57:48 【问题描述】:我只是想,我们可以将 System.out
和 System.err
消息重定向到一个文件,我无法理解这个在运行以下文件时重定向的命令:java StandarProgram> output.log 2>error.log
什么是 2?如果不使用 2,错误消息会显示在控制台上并且不会重定向到文件?我根本无法得到这个。
public class StandardProgram
public static void main(String[] args)
System.out.println("Hello");
System.err.println("World");
【问题讨论】:
【参考方案1】:System.out 是根据 documentation 标准输出流 - 它是 1
System.err 是根据 documentation 标准错误流 - 它是 2
【讨论】:
这些是什么,正好是 1 和 2?它们有助于表示内容吗? 这些是 linux 系统的文件描述符 1 表示标准输出文件描述符 2 表示标准错误文件描述符 我用的是windows,和windows一样吗?和其他操作系统 是的,这是您在 windows cmd 中的代码 sn-p:***.com/questions/1420965/…【参考方案2】:2 是标准错误文件描述符。
文件描述符 1 是标准输出 (stdout)。 文件描述符 2 是标准错误 (stderr)。
2>error.log
用于将标准错误日志重定向到名为error.log的文件
【讨论】:
以上是关于命令中的“2”是啥,同时将 System.out , System.err Java 消息重定向到文件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
java中System.out.println中的out是啥,是一个类???