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视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。

时间: 2024-10-18 20:13:09

JavaSE8基础 OutputStreamWriter flush 写入字符后要刷新缓冲区的相关文章

JavaSE8基础 StringBuffer 将一个char字符重复指定次数后输出

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) code: package jizuiku0; /* * @version V17.09 */ public class repeatCharDemo { public static void main(String[] args) { // 字符 0 重复输出3次 System.out.println(repeatChar('0

JavaSE8基础 FileOutputStream write 写入txt文本时实现数据追加

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) information: txt文件初始状态 code: package jizuiku0; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /* * @version V17.09

黑马程序员——Java基础--IO流(一)---字符流和字节流

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.IO流的介绍及体系 IO流用来处理设备之间的数据传输.java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中. 输入流和输出流相对于内存设备而言:将外设中的数据读取到内存中:输入.将内存中的数据写出到外设中:输出. 流按照操作数据分为两种:字节流和字符流. 字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表,获取对应的文字,再对这个文字进行操作

python基础11 文件操作 ,字符编码

主要内容 文件操作 文件操作 打开文件的模式 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建. "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模

JavaSE8基础 BufferedReader char[]方式读写实现复制粘贴txt文件

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) information: 被复制的文本文件中的内容 code: package jizuiku0; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOut

删除最后结尾的指定字符后的字符

#region 删除最后结尾的指定字符后的字符 2 /// <summary> 3 /// 删除最后结尾的指定字符后的字符 4 /// </summary> 5 public static string DelLastChar(string str, string strchar) 6 { 7 if (string.IsNullOrEmpty(str)) 8 return ""; 9 if (str.LastIndexOf(strchar) >= 0 &a

C语言基础学习2:字符数组

在C语言的基本数据类型中没有没有字符串变量,一般以字符数组的形式给出. 1.字符串数组的初始化 char c[] = {'I', ' ', 'a', 'm', 'h', 'a', 'p', 'p', 'y'}; char c[] = "I am happy"; 区别:第一种方式字符串长度为10,内存中占10*sizeof(char)个字节,第二种方式是以字符串形式表示,有一个字符串结束字符'\0',内存中占11*sizeof(char)个字节. 2.字符数组的输入输出 %c,一个一个字

写入cookie后只显示一次的DIV提示框代码

<script type="text/javascript"> function cookiesave(n, v, mins, dn, path){ if(n) { if(!mins) mins = 365 * 24 * 60; if(!path) path = "/"; var date = new Date(); date.setTime(date.getTime() + (mins * 60 * 1000)); var expires = &quo

IO字符流之读写缓冲区(BufferedWriter、BufferedReader)

缓冲区是为了提高效率所使用的,在使用缓冲区之前必须先明确流对象.就如同拿杯子接水一样,必须先知道这个杯子放在哪里接水 BufferedWriterDemo(输入字符流缓冲区演示): import java.io.*; /* 缓冲区的出现是为了提高流的操作效率而出现的. 所以在创建缓冲区之前,必须要先有流对象. 该缓冲区对象中提供了一个跨平台的换行符. newLine(); */ class BufferedWriterDemo { public static void main(String[]