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

我的世界外国做图网站今日中国新闻

我的世界外国做图网站,今日中国新闻,国内购物网站案例分析,网站建设源码安装教程【JAVA入门】Day41 - 字节缓冲流和字符缓冲流 文章目录 【JAVA入门】Day41 - 字节缓冲流和字符缓冲流一、缓冲流的体系结构二、字节缓冲流2.1 字节缓冲流提高效率的底层原理 三、字符缓冲流 在IO流体系中,FileInputStream,FileOutputStream,F…

【JAVA入门】Day41 - 字节缓冲流和字符缓冲流


文章目录

  • 【JAVA入门】Day41 - 字节缓冲流和字符缓冲流
    • 一、缓冲流的体系结构
    • 二、字节缓冲流
      • 2.1 字节缓冲流提高效率的底层原理
    • 三、字符缓冲流


        在IO流体系中,FileInputStream,FileOutputStream,FileReader,FileWriter 其实都只是基本流,Java 中还有一些针对他们做出优化的高级流。
在这里插入图片描述

一、缓冲流的体系结构

在这里插入图片描述

        针对字节和字符,Java 分别发明了它们各自的缓冲流。缓冲流一共有四种,Buffered 代表缓冲区,它可以使得读写数据时非常高效

二、字节缓冲流

        字节缓冲流底层自带了一次可以读写 8192 长度的缓冲区。它的构造方法是将基本流通过一个方法进行包装,加入缓冲区。
在这里插入图片描述
        以下演示了如何利用字节缓冲流来拷贝一个文件:

package BufferedStream;import java.io.*;public class BufferedStreamDemo1 {public static void main(String[] args) throws IOException {/*字节缓冲流拷贝文件(一次读写一个字节)*///1.创建缓冲流对象BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\IdeaProjects\\HelloWord\\src\\BufferedStream\\a.txt"));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\IdeaProjects\\HelloWord\\src\\BufferedStream\\a_Copied.txt"));//2.循环读取并写入目的地int b;while((b = bis.read()) != -1){bos.write(b);}//3.释放资源bos.close();bis.close();}
}
package BufferedStream;import java.io.*;public class BufferedStreamDemo2 {public static void main(String[] args) throws IOException {/*字节缓冲流拷贝文件(一次读写一个字节数组)*///1.创建缓冲流对象BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\IdeaProjects\\HelloWord\\src\\BufferedStream\\a.txt"));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\IdeaProjects\\HelloWord\\src\\BufferedStream\\a_Copied.txt"));//2.字节数组byte[] bytes = new byte[1024 * 1024 * 5];int len;while((len = bis.read(bytes)) != -1){bos.write(bytes,0,len);}//3.关闭流bos.close();bis.close();}
}

2.1 字节缓冲流提高效率的底层原理

        字节缓冲流读写数据的内存结构如下图所示:
在这里插入图片描述
        可以看到,读写数据时,字节数据是在内存中的缓冲区进行倒手的,而内存的读写数据是非常非常快的,它的读写速度快到这个倒手的过程可以忽略不计,大大节省了数据与硬盘之间的交互时间。

三、字符缓冲流

        字符流本身就具有缓冲区,速度已经很快,而字符缓冲流进一步加快了读写速度。
在这里插入图片描述
        其构造方法如下:
在这里插入图片描述
        特别的是,字符缓冲流中还有两个非常有用的特有方法:
在这里插入图片描述
        readLine() 方法让我们可以一行一行读取数据,newLine() 方法是一个跨平台的换行方法,使用它可以保证在 Windows、Linux、Mac 所有操作系统下的换行都能生效且不会出错。
① 字符缓冲输入流的用法:

package BufferedStream;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class BufferedStreamDemo3 {public static void main(String[] args) throws IOException {/*字符缓冲输入流*///1.创建字符缓冲输入流对象BufferedReader br = new BufferedReader(new FileReader("D:\\IdeaProjects\\HelloWord\\src\\BufferedStream\\a.txt"));//2.一行一行读String line;while((line = br.readLine()) != null) {System.out.println(line);}//3.释放资源br.close();}
}

② 字符缓冲输出流的用法:

package BufferedStream;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;public class BufferedStreamDemo5 {public static void main(String[] args) throws IOException {/*字符缓冲输出流*///1.创建BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\IdeaProjects\\HelloWord\\src\\BufferedStream\\b.txt"));//2.写出数据bw.write("你嘴角上扬的样子,百度搜索不到");bw.newLine();       								//跨平台换行bw.write("以后如果我结婚了,你一定要来哦,没有新娘我会很尴尬");bw.newLine();//3.释放资源bw.close();}
}
http://www.hotlads.com/news/5100.html

相关文章:

  • 企业做网站需要什么360提交网站收录入口
  • 长安微网站建设谷歌seo外包
  • 专业网站建设模板今天最新的新闻头条
  • 政务公开网站建设整改方案百度竞价排名又叫
  • 汨罗做网站中国十大公关公司排名
  • 百度网址大全最新版北京网站seo设计
  • 洛阳作公司网站广告网络
  • 微商网站如何做推广今日热点新闻事件摘抄2022
  • 北海网站制作公司友情链接交换平台源码
  • 那个网站专门做二手衣服什么软件可以推广自己的产品
  • 真人做爰网站视频外链吧怎么使用
  • discuz 分类网站网址域名大全2345网址
  • 做个简单的导航网站微信营销软件群发
  • 宁波网站建设制作方法网络营销推广策划方案
  • 网站域名找回密码 用户名搜索引擎营销就是seo
  • 云服务器做网站好吗百度指数网站
  • 阿里云做电脑网站网址关键词查询网站
  • 小网站推广个人接外包项目平台
  • 长沙的企业网站建设seo关键字优化技巧
  • 建设网站要求哪里备案属于免费的网络营销方式
  • 杭州软件测试培训机构排名seo优化方案策划书
  • 部门网站管理建设工作汇报专业的网站优化公司
  • 如何做电影网站 去哪里找片源网络安全有名的培训学校
  • ai做图标教程网站seo是什么姓
  • 台州网站怎么推广广州seo网站管理
  • 福建省建设厅网站 保证金打开百度搜索引擎
  • 长沙市天心建设局网站cpa广告联盟平台
  • 设计师可以做兼职的网站有哪些东莞百度推广排名优化
  • 做网站为什么要用固定ip本网站三天换一次域名
  • 南京做网站开发 待遇站长之家域名信息查询