Java - 如何使用 PrintStream/OutputStream 打印到命令行

Java - How to use PrintStream/OutputStream to print to the Command Line

我知道我们可以使用 PrintStream 将行打印到给定文件:

    PrintStream output;
    output = new PrintStream("./temp.txt");
    output .println("some output text"); 

但是,我们可以使用 PrintStream 将行打印到命令行吗?

我查看了 Java 文档,似乎 PrintStream 构造函数可以采用文件路径或 OutputStream(是否有可以打印到命令行的 OutputStream 子类?)

output = new PrintStream(System.out);

或者实际上,

output = System.out;

同样,你可以用System.err做同样的事情 ... 那么我们为什么不直接使用 System.out 和 System.err 呢? sout + tab 在 IntelliJ 中输入速度相当快

System.outSystem.error 已经是 PrintStream,我们可以使用它们将输出打印到命令行,而无需创建您正在执行的新 PrintStream 对象。

使用此 printStream 的优点是您可以使用 System.setOut()System.setErr() 来设置您选择的 printSteam

PrintStream output = new PrintStream("./temp.txt");
System.setOut(output); 

以上将覆盖打印到命令行的默认 Printstream,现在调用 System.out.println() 将打印给定文件中的所有内容(temp.txt)

PrintStream class 提供了将数据写入另一个流的方法。要打印到命令行,您可以使用 System.out 作为 PrintStream class.

的对象
import java.io.*;  
class PrintStreamTest{  
  public static void main(String args[])throws Exception{  
    PrintStream pout=new PrintStream(System.out);  
    pout.println(1900);  
    pout.println("Hello Java");  
    pout.println("Welcome to Java");  
    pout.close();  
  }  
} 

这将在命令行上给出如下输出:

1900

你好Java

欢迎来到Java