Java.io.BufferedOutputStream 字节缓冲输出流,继承自OutputStream
构造方法:
- BufferedOutputStream (OutputStream out) 创建一个新的缓冲输出流,将数据写入指定的底层输出流
- BufferedOutputStream (OutputStream out, int size) 创建一个新的大小为size的缓冲输出流,将数据写入指定的底层输出流
- 我们可以传递OutputStream的子类FileOutputStream,缓冲流会给FileOutputStream增加一个缓冲区,提高写入效率,我们可以自定义size来设置缓冲区的大小
- 使用步骤
- 创建FileOutputStream对象,构造方法中写出文件地址
- 创建BufferedOutputStream对象,构造方法中提供FileOutputStream对象来增加一个缓冲区,提高写入效率
- 使用BufferedOutputStream对象的write方法将数据写入内部缓冲区
- 使用flush或者close方法将数据刷入文件,如果使用了close,则flush可以省略,因为close会自动flush
javaprivate static void test1() throws IOException { FileOutputStream fos=new FileOutputStream("c.txt"); BufferedOutputStream bos=new BufferedOutputStream(fos); bos.write("你好啊".getBytes()); bos.close(); fos.close(); }
Java.io.BufferedInputStream 字节缓冲输入流 ,继承自InputStream
构造方法
- BufferedInputStream (InputStream in) 创建一个新的缓冲输入流
- BufferedInputStream (InputStream in, int size) 创建一个新的大小为size的缓冲输入流
- 使用步骤
创建FileInputStream对象,绑定数据源
创建BufferedInputStream对象,传递FileInputStream对象作为参数,提高FileInputStream读取文件的效率
使用BufferedInputStream对象的read方法读取文件
释放资源
javaprivate static void test2() throws IOException { FileInputStream fis=new FileInputStream("c.txt"); BufferedInputStream bis=new BufferedInputStream(fis); int len=0; byte[] bytes=new byte[1024]; while((len=bis.read(bytes))!=-1) { System.out.println(new String(bytes,0,len)); } }
BufferedWriter 字符缓冲输出流
构造方法
- BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的字符缓冲输出流
- BufferedWriter(BufferedWriter out,int sz) 创建一个使用指定大小输出缓冲区的字符缓冲输出流
- 特有的成员方法
- void newLine() 换行,会根据不同的操作系统使用不同的换行符
- 使用步骤
创建字符缓冲输出流对象,在构造方法中传递字符输出流
调用字符缓冲输出流中的write,把数据写入到内存缓冲区中
调用字符缓冲输出流中的flush,把内存缓冲区中的数据刷入文件(可以不使用flush,直接使用close)
释放资源
javaprivate static void test3() throws IOException { BufferedWriter bw=new BufferedWriter(new FileWriter("d.txt")); bw.write("你好啊,hello"); bw.newLine(); bw.write("yes"); bw.close(); }
BufferedReader 字符缓冲输入流
构造方法
- BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的字符缓冲输入流
- BufferedReader(Reader in,int sz) 创建一个使用指定大小输入缓冲区的字符缓冲输入流
- 特有的成员方法
- String readLine() 读取一个文本行,读取一行数据
- 返回值是字符串,当读到行终止符号的时候返回该行的字符串,当没有读到行终止符,说明读到流的末尾,返回null
- 使用步骤
创建字符缓冲输入流对象,构造方法中传递字符输入流
使用字符缓冲输入流中的read/readLine方法读取文本
释放资源
javaprivate static void test4() throws IOException{ BufferedReader br=new BufferedReader(new FileReader("d.txt")); String s=""; while((s=br.readLine())!=null) { System.out.println(s); } br.close(); }
java中的缓冲流
就是木子呀2023-08-04 15:26
相关推荐
java搬砖工-苤-初心不变12 分钟前
OpenResty 配合 Lua 脚本的使用IT灰猫17 分钟前
C++轻量级配置管理器升级版纪元A梦23 分钟前
贪心算法应用:信用评分分箱问题详解Swift社区30 分钟前
如何解决 Vue2 前端项目为何无法访问本地资源(chunk.js 加载一直 pending/转圈)大飞pkz38 分钟前
【设计模式】题目小练2啟明起鸣43 分钟前
【网络编程】从与 TCP 服务器的对比中探讨出 UDP 协议服务器的并发方案(C 语言)007php0071 小时前
Redis高级面试题解析:深入理解Redis的工作原理与优化策略九章云极AladdinEdu1 小时前
深度学习优化器进化史:从SGD到AdamW的原理与选择axban1 小时前
QT M/V架构开发实战:QStandardItemModel介绍Yeats_Liao1 小时前
Spring缓存(二):解决缓存雪崩、击穿、穿透问题