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

网站设计要学什么推荐几个设计网站

网站设计要学什么,推荐几个设计网站,建网站现软件,crm客户管理系统论文【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.yayakq.cn/news/661373/

相关文章:

  • 绍兴h5建站广州推广seo
  • cms内容网站管理系统适合小公司的记账软件
  • 贵州住房与城乡建设厅网站大连网络推广网站优化找哪家好
  • 网站建设开发设计营销公司厦门简单网页设计主题
  • 中国化工建设网站设计图片的手机软件
  • 官方网站建设的重要性公司怎样做网站
  • 男女做的那些事情的网站做空视频文件的网站
  • 做全英文网站企业网站维护与销售
  • 个人网站谢谢丰都专业网站建设公司
  • 网站工作室模板青岛网站seo分析
  • 做时尚网站的目的网站百度收录要多久
  • 为什么要做一个营销型网站兰州seo外包公司
  • 深圳网站开发哪个公司好全屋定制装修加盟网
  • wrix 网站开发php做商城网站建设
  • 请问哪个网站可以做二类学分做微信首图的网站
  • 哪些网站教你做美食的wordpress会员中心主题
  • 西安优化网站推广网站模板有后台
  • 做百度网站费用多少建设银行官方网站链接
  • 搭建网站需要的软件比较好的能组数学卷的网站做教案的
  • 企业手机网站建设方案html用什么软件
  • 大气宽屏网站模板网站没有设置关键词
  • 企业网站建设哪家专业网站开发终止合作协议
  • 模板网站的好处上海注册公司注册地址
  • app网站做二手交易分公司注册
  • 网站是什么软件认证空间如何显示网站
  • 南京网站设计公司排名百度推广要多少钱
  • 项目网站建设应入哪个科目成都营销网站建设团队
  • 网站建设cach目录做三轨网站犯法吗
  • 代做毕业设计的网站好大型门户网站建设效果怎么样
  • 青海网页设计与网站建设网页设计与制作教程第六版第六章源代码