Java 中的 BufferedWriter 类中的 flush() 方法有什么用途?
当您尝试使用 BufferedWriter 对象向 Stream 写入数据时,在调用 write() 方法后,数据将最初缓冲起来,不会打印任何内容。
flush() 方法用于将缓冲区的内容推送到底层 Stream。
示例
在下面的 Java 程序中,我们尝试在控制台(标准输出流)上打印一行。此处,我们调用 write() 方法,并传入所需的 String。
import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; public class BufferedWriterExample { public static void main(String args[]) throws IOException { //Instantiating the OutputStreamWriter class OutputStreamWriter out = new OutputStreamWriter(System.out); //Instantiating the BufferedWriter BufferedWriter writer = new BufferedWriter(out); //Writing data to the console writer.write("Hello welcome to Tutorialspoint"); } }
但是,由于您尚未刷新 BufferedWriter 缓冲区的内容,因此不会打印任何内容。
要解决此问题,请在执行 write() 之后调用 flush() 方法。
示例
import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; public class BufferedWriterExample { public static void main(String args[]) throws IOException { //Instantiating the OutputStreamWriter class OutputStreamWriter out = new OutputStreamWriter(System.out); //Instantiating the BufferedWriter BufferedWriter writer = new BufferedWriter(out); //Writing data to the console writer.write("Hello welcome to Tutorialspoint"); writer.flush(); } }
输出
Hello welcome to Tutorialspoint
广告