flush方法和close方法的区别以及字符输出流写数据的其他方法
flush方法和close方法的区别
flush:刷新缓冲区,流对象可以继续使用
close: 先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。
public static void main(String[] args) throws IOException { //1.创建FileWriter对象,构造方法中绑定要写入数据的目的地 FileWriter fw = new FileWriter("d.txt"); //2.使用FileWriter中的方法write方法,把数据写入到内存缓冲区中(字符转换为字节的过程) //void write(int c) 写入单个字符 fw.write(97); //3.使用FileWriter中的方法flush,把内存缓冲区中的数据刷新到文件中 fw.flush(); //刷新之后流可以继续使用 fw.write(98); //4.释放资源(会先把内存缓冲区中的数据刷新到文件中) fw.close(); //close方法关闭之后流已经关闭了,已经从内存中消失了,流就不能再使用了 fw.write(99);//Exception in thread "main" java.io.IOException: Stream closed }
文件中的内容:

字符输出流写数据的其他方法
void write(char[] cbuf) 写入字符数组
abstract void write(char[] cubf,int of ,int len) 写入字符数组的某一部分,off数组开始索引,len写的字符个数
void write(String str) 写入字符串
void write(String str,int off,int len) 写入字符串的某一部分,off字符串开始索引,len写的字符个数
public static void main(String[] args) throws IOException { FileWriter fw = new FileWriter("d.txt"); char[] chars = {'a','b','c','d','e'}; //void write(char[] cbuf) 写入字符数组 fw.write(chars); //abstract void write(char[] cubf,int of ,int len) 写入字符数组的某一部分,off数组开始索引,len写的字符个数 fw.write(chars,1,3); //void write(String str) 写入字符串 fw.write("你好你好"); //void write(String str,int off,int len) 写入字符串的某一部分,off字符串开始索引,len写的字符个数 fw.write("你好你好你好",1,3); fw.close(); }
文件中的内容:


浙公网安备 33010602011771号