当前位置: 首页 > news >正文

java-IO流-缓冲流

在这里插入图片描述

缓冲字节流

可提高字节流读取数据的性能
在这里插入图片描述
在这里插入图片描述

public class CopyDemo1 {public static void main(String[] args) {//缓冲字节流的使用//源文件:C:\Users\hanyue\Pictures\pixiv\saber.jpg//目标文件:C:\Users\hanyue\Pictures\图片\saber_copy.jpg(复制过去时必须带文件名,无法自动生成文件名)copyFile("C:\\Users\\hanyue\\Pictures\\pixiv\\saber.jpg", "C:\\Users\\hanyue\\Pictures\\图片\\saber_copy.jpg");}//复制文件public static void copyFile(String srcPath, String destPath){//1、创建一个文件字节输入流管道与源文件接通try(    //只能放资源对象,用完后会自动调用close方法自动关闭InputStream fis = new FileInputStream(srcPath);//把低级的字节输入流转换成高级的缓冲字节输入流InputStream bis = new BufferedInputStream(fis);OutputStream fos = new FileOutputStream(destPath);//把低级的字节输出流转换成高级的缓冲字节输出流OutputStream bos = new BufferedOutputStream(fos);) {//2、定义一个字节数组,每次读取多个字节byte[] buffer = new byte[1024];int len;while ((len = bis.read(buffer)) != -1) {//3、把读取到的字节写入到文件中bos.write(buffer, 0, len);//读取多少个字节,写入多少个字节}System.out.println("复制完毕!");} catch (IOException e) {e.printStackTrace();}}
}

缓冲字符流

BufferedReader缓冲字符输入流

在这里插入图片描述

public class BufferedReaderDemo1 {public static void main(String[] args) {//缓冲字符输入流读取字符内容:性能提升,多了按照行读取文本的能力try (Reader fr = new FileReader("product\\src\\chunqiuchan.txt");//创建一个缓冲字符输入流包装低级的字符输入流BufferedReader br = new BufferedReader(fr);) {//2、定义一个字符数组,每次读多个字符/*char[] buffer = new char[1024];int len;//记录每次读了多少个字符while ((len = br.read(buffer)) != -1) {//3、把读取的字符写入到文件中String s = new String(buffer, 0, len);System.out.print(s);}*//*System.out.println(br.readLine());System.out.println(br.readLine());System.out.println(br.readLine());System.out.println(br.readLine());System.out.println(br.readLine());*///使用循环改进,按行读取数据//定义字符串变量记住每次读取的一行数据String line;while ((line = br.readLine()) != null) {System.out.println(line);}//目前读取文本最好的方案:性能好,不乱码,按行读取}catch (Exception e) {e.printStackTrace();}}
}

BufferedWriter缓冲字符输出流

在这里插入图片描述

public class BufferedWriterDemo1 {public static void main(String[] args) {//缓冲字符输出流的使用:提升字符输出流的写数据的性能,多了换行功能//1、创建字符输出流对象与源文件接通try (Writer fw = new FileWriter("product\\src\\wenzhenren.txt");//覆盖管道//Writer fw = new FileWriter("product\\src\\wenzhenren.txt", true);//追加管道//创建缓冲字符输出流对象,把字符输出流作为构造参数传给缓冲字符输出流对象BufferedWriter bw = new BufferedWriter(fw);) {//2、写一个字符 public void write(int c)bw.write('a');bw.write(98);bw.write('文');bw.newLine();//换行//3、写一个字符串 public void write(String s)bw.write("永生飘渺非我求");//4、写一个字符串的子串 public void write(String s, int pos, int len)bw.write(",长生无为老愧羞", 0, 3);//5、写一个字符数组 public void write(char[] cbuf)char[] chars = "无为老愧羞".toCharArray();bw.write(chars);bw.newLine();//6、写一个字符数组的一部分 public void write(char[] cbuf, int pos, int len)bw.write(chars, 2, 3);bw.newLine();//bw.flush();//刷新缓冲区//刷新后,流可以继续使用//bw.close();//关闭资源,关闭包含了刷新,关闭后流不能再使用}catch (Exception e) {e.printStackTrace();}}
}
http://www.dtcms.com/a/420326.html

相关文章:

  • SpringBoot实现简单图形验证码
  • platform设备驱动实验
  • 建最便宜的网站要多少钱wordpress 移动端页码
  • 图论算法刷题的第四十七天
  • 牛客周赛 Round 111(小红的阶梯/小红的数组取数/小红抽卡/小红的好数对/小芳的排列构造小红的排列构造)
  • 东莞网站建设服务湖南网站开发 d岚鸿
  • 计划书网站推广的目录怎么做一级a做爰片啪网站
  • 【剑斩OFFER】优雅的解法——三数之和
  • C++之拷贝构造(浅拷贝与深拷贝)、this指针、内联函数
  • 销售网站开发步骤网站宝二级域名怎么设置
  • 上海浦东建筑建设网站手机端网站制作
  • 【高并发内存池——项目】page cache 回收内存
  • 深圳网站建设便宜信科网络企业网站建设有几种
  • 济南网站建设92jzh知名的设计公司网站
  • MySQL表的内外连接(重点)
  • 使用 SynMatrix 的同轴腔滤波器设计和优化
  • 图片文字制作深圳网站关键词优化公司
  • 小微企业建站天眼查官网查个人
  • Fixmap
  • YOLO通用无人机目标检测框架
  • 注册公司域名后如何做网站软件公司网站源码
  • 营销新人如何快速提升职场竞争力
  • 做网站后台用什么语言外贸网站建设加推广
  • 东莞网站设计哪家好长春网站制作wang
  • 如何将网站的关键词排名优化广州网站建设交易
  • 建设银行采购网站百度网盟推广 网站
  • 福州哪里会网站制作的centos 7 wordpress install
  • 【git】P2 git 安装与基础命令详解
  • 网站优化3个关键词和10个关键词的区别云服务器怎么样做网站
  • 网站开发 图片储存网页制作公司排名前十