import java.io.*;
class demo
{
public static void main(String args[])
{
PrintWriter pw=new PrintWriter(System.out);
pw.println("java");
//pw.print("java");
}
}
// 输出正在java
使用pw.println
,但使用时输出为空,pw.print
即使用时不会在控制台上打印任何内容print
。
import java.io.*;
class demo
{
public static void main(String args[])
{
PrintWriter pw=new PrintWriter(System.out);
pw.println("java");
//pw.print("java");
}
}
// 输出正在java
使用pw.println
,但使用时输出为空,pw.print
即使用时不会在控制台上打印任何内容print
。
它几乎可以肯定只是缓冲 - 因为你没有刷新它,所以你永远不会得到输出。从文档:
与 PrintStream 类不同,如果启用了自动刷新,它将仅在调用 println、printf 或 format 方法之一时完成,而不是在碰巧输出换行符时完成。这些方法使用平台自己的行分隔符概念,而不是换行符。
尝试:
pw.flush();
在代码的末尾。
试试这个:
PrintWriter pw=new PrintWriter(System.out);
pw.print("java");
pw.flush();
将PrintWriter
进行内部缓冲,并且该println
方法会自动刷新它。
对于自动冲洗,您可以使用此构造函数
PrintWriter(OutputStream out, boolean autoFlush);
调用println()
隐式刷新输出缓冲区,而调用print()
不会。尝试使用print()
,然后调用pw.flush()
.
另请注意,PrintWriter 的构造函数包括在任何写入调用后自动刷新的选项。