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(); }
文件中的内容:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix