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

时间:2018-08-01 05:37:08

标签: java outputstream printstream

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

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

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

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

3 个答案:

答案 0 :(得分:3)

output = new PrintStream(System.out);

或者实际上

output = System.out;

类似地,您可以使用System.err做同样的事情 ...那么为什么我们不直接使用System.out和System.err? sout + tab 可以很快地在IntelliJ中键入

答案 1 :(得分:1)

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)中的所有内容

答案 2 :(得分:0)

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

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