JavaSE8基础 OutputStreamWriter flush 写入字符后要刷新缓冲区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE8基础 OutputStreamWriter flush 写入字符后要刷新缓冲区相关的知识,希望对你有一定的参考价值。



    os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)

 

information:

  工作空间的初始状态

  技术分享

 


code:

package jizuiku0;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/*
 * @version V17.09
 */
public class FlushDemo {

	// 我在这里使用 throws,目的是为了方便地阅读代码
	// 然而 在做项目中 还是需要使用try..catch对异常做出相应的处理
	public static void main(String[] args) throws IOException {

		// 文件路径 (相对路径)
		String path = "test.txt";
		FileOutputStream fos = new FileOutputStream(path);

		String charsetName = "UTF-8";
		OutputStreamWriter osw = new OutputStreamWriter(fos, charsetName);

		osw.write("博客园");// 执行完这句时, 字符串"博客园"是处于缓冲区中的

		osw.flush();// 刷新缓冲区 -> 把缓冲区的内容写入到 文件中

		// 刷新之后 还可以继续写
		osw.write("给最苦");

		// 记得关闭流close()->先刷新,再释放资源
		// close之后,就不可以再次使用osw进行写操作了
		osw.close();
	}
}

 


result:
  工作空间文件夹中会生成 test.txt文件,需要进行 refresh 才能在eclipse中看到文件。

  由于eclipse默认的字符集编码是 GBK,而代码中写入文件时 用的字符集是UTF-8,所以需要先设置 读取文件所用的字符集。

 

技术分享

 

  文件中的内容

技术分享

 

  


Java优秀,值得学习。
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。












以上是关于JavaSE8基础 OutputStreamWriter flush 写入字符后要刷新缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE8基础 接口之间实现多继承

JavaSE8基础 接口作为函数的参数

JavaSE8基础 接口不能直接实例化

JavaSE8基础 方法重写简单示例

JavaSE8基础 函数的返回类型是接口

JavaSE8基础 构造代码块简单示例