javase学习记录之------字符流的5种写数据方法

it2024-03-28  50

import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; /* OutputStreamWriter的方法 public void write(int c):写一个字符 public void write(char[] cbuf):写一个字符数组 public void write(char[] cbuf,int off,int len):写一个字符数组的一部分 public void write(String str):写一个字符串 public void write(String str,int off,int len):写一个字符串的一部分 面试题:close()和flush()的区别 1:close()关闭流对象,但是先刷新一次缓冲区,关闭之后,该对象不可在使用 2:flush()仅仅刷新缓冲区,刷新之后,该流对象还可以使用 */ public class Test { public static void main(String[] args) throws IOException { //创建对象 OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("osw.txt")); //写数据 osw.write('a'); osw.write(97); //public void write(char[] cbuf):写一个字符数组 char[] chs={'b','c','d','e'}; osw.write(chs); //public void write(char[] cbuf,int off,int len):写一个字符数组的一部分 osw.write(chs,1,3);//从1开始写3个 //public void write(String str):写一个字符串 osw.write("我喜欢你"); //public void write(String str,int off,int len):写一个字符串的一部分 //osw.write("我喜欢你",2,3);//从2开始写3个 //为什么这个报错了 //写完后查看文件是没有东西的,为什么没有数据呢,因为字符=2字节,而文件中的数据存储的基本单位是字节,相当于太胖了卡门那了 //osw flush(),清除缓冲,相当于让他们变瘦,字符流写数据记得要flush一下。 //释放缓冲区 osw.flush(); //释放资源 osw.close(); } }
最新回复(0)