Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么PrintStream打印到控制台_Java - Fatal编程技术网

Java 为什么PrintStream打印到控制台

Java 为什么PrintStream打印到控制台,java,Java,为什么System.out.println(“Hello World”)会打印到控制台 out是类型为PrintStream的静态变量。外出时调用println()。为什么会打印到控制台?那是默认频道吗?我也可以说打印到文件吗 是的。控制台是默认的输出流。为了使用system.out.println()命令写入文件,您需要更改输出流 PrintStream fileOut = new PrintStream("./out.txt"); System.setOut(fileOut); System

为什么
System.out.println(“Hello World”)
会打印到控制台


out
是类型为
PrintStream
的静态变量。外出时调用
println()
。为什么会打印到控制台?那是默认频道吗?我也可以说打印到文件吗

是的。控制台是默认的输出流。为了使用system.out.println()命令写入文件,您需要更改输出流

PrintStream fileOut = new PrintStream("./out.txt");
System.setOut(fileOut);
System.out.println("this write in file");


out
在启动期间实例化,并映射到主机的标准输出控制台(默认情况下为控制台)

您可以使用
setOut
方法更改
out
对象,例如,将标准输出改为写入文件:

System.setOut(new PrintStream(new FileOutputStream("log.txt")));
System.out.println("Writing to log.txt");

这里有一个解决方案:但它是java吗?你确定吗?看起来像是C++是的,System.out==控制台。如果JVM的SecurityManager允许,您可能可以使用
System.setOut(PrintStream out)
重新分配out。通常写入文件的方式不同,如Bartosz所说。
PrintStream
包装
OutputStream
。stdout是一个ostream/
OutputStream
System.out表示stdout“stdout,也称为标准输出,是进程可以写入输出的默认文件描述符。”确定。所以变量out来自PrintStream类型。我以为PrintStream只用于文件。那么,如何将其默认为控制台呢。控制台不是文件。不,PrintStream不仅仅用于该文件。PrintStream为其超级类OutputStream添加了一些功能。还有另一个OutputStream称为FileOutputStream,它是为文件创建的。要创建可以写入文件的PrintStream,您需要执行以下操作:new PrintStream(new FileOutputStream(“Engineer.txt”);