我知道我们可以使用PrintStream将行打印到给定文件:
PrintStream output;
output = new PrintStream("./temp.txt");
output .println("some output text");
但是,我们可以使用PrintStream将行打印到命令行吗?
我看过Java文档,似乎PrintStream构造函数可以采用文件路径或OutputStream(是否存在可以打印到命令行的OutputStream子类?)
答案 0 :(得分:3)
output = new PrintStream(System.out);
或者实际上
output = System.out;
类似地,您可以使用System.err
做同样的事情
...那么为什么我们不直接使用System.out和System.err? sout + tab 可以很快地在IntelliJ中键入
答案 1 :(得分:1)
System.out
或System.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