Java IO流---字节缓冲流
在加入缓冲流之前,我们是直接使用字节流或者字符流文件做读写操作。此操作,效率和性能都差。
使用缓冲流可以让程序高效地读写文件,原理是将数据暂时放至缓冲区,然后再一起读取或写入。
BufferedInputStream: 创建此类对象时,对象中包含了一个用于缓冲数据的数组。
BufferedOutputStream:创建此类对象,程序可以将各个字节先写入底层输出流,而不会针对每
个字节去调用底层系统。
代码示例:
package com.seven.javaSE; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; //字节缓冲流 public class BufferStreamDemo { public static void main(String[] args) { byteReader(); byteWrite(); } //字符缓冲输入流 public static void byteReader() { try { InputStream in = new FileInputStream("C:/TestFile/hello.txt"); //将字节输入流加入到字节缓冲流中 BufferedInputStream bis = new BufferedInputStream(in); byte [] bytes = new byte[1024]; int len=-1; while((len=bis.read(bytes))!=-1) { System.out.println(new String(bytes,0,len)); } //关闭缓冲流,而不用显式关闭字节流,因为缓冲流关闭时,就会关闭字节流 bis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //字符缓冲输入流 public static void byteWrite() { try { OutputStream out = new FileOutputStream("c:/TestFile/target.txt"); BufferedOutputStream bos = new BufferedOutputStream(out); String str = "我是字节缓冲流:在字节流基础上加入缓冲,增强读写效率"; bos.write(str.getBytes()); bos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
本文来自博客园,作者:藤原豆腐渣渣,转载请注明原文链接:https://www.cnblogs.com/javafufeng/p/16385779.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!