zoukankan      html  css  js  c++  java
  • IO流之缓冲流

    Java中提高了一套缓冲流,它的存在,可提高IO流的读写速度

    缓冲流,根据流的分类分类字节缓冲流与字符缓冲流。

    1.字节缓冲流

    它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度

    1.1  字节缓冲输出流BufferedOutputStream

    1.2字节缓冲输入流BufferedInputStream

     1.3添加缓冲流复制文件

     1 public class demo03 {
     2     public static void main(String[] args) throws IOException {
     3         //明确数据源
     4         FileInputStream fis = 
     5                 new FileInputStream("D:\video\a.wmv");
     6         //添加缓冲流
     7         BufferedInputStream bis = new BufferedInputStream(fis);
     8         //明确目的地
     9         FileOutputStream fos = 
    10                 new FileOutputStream("D:\io0429\hello\a.wmv");
    11         //添加缓冲流
    12         BufferedOutputStream bos = new BufferedOutputStream(fos);
    13         //单个字节数组复制
    14         byte[] bytes = new byte[1024];
    15         int len = 0;
    16         while((len = bis.read(bytes)) != -1){
    17             bos.write(bytes, 0, len);
    18         }
    19         //释放资源
    20         bis.close();
    21         bos.close();
    22     }
    23 }

     

    2.字符缓冲流

    它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度

    2.1字符缓冲输出流 BufferedWriter

     字符缓冲输出流中,新增加了一个方法,是按照"行"来进行写入。

    2.2字符缓冲输入流 BufferedReader

      字符缓冲输入流中,也新增加了一个方法,是按照"行"来进行读取。行读取到末尾时,它的返回值是null而不是-1

    2.3通过"行"读取写入来复制文件

     1     public static void main(String[] args) throws IOException {
     2         //明确数据源
     3         FileReader fr = new FileReader("D:\io0429\demo01.txt");
     4         //添加缓冲流
     5         BufferedReader br = new BufferedReader(fr);
     6         //明确目的地
     7         FileWriter fw = new FileWriter("D:\io0429\demo05.txt");
     8         //添加缓冲流
     9         BufferedWriter bw = new BufferedWriter(fw);
    10         String line = null;
    11         while((line = br.readLine()) != null){
    12             bw.write(line);
    13             bw.newLine();
    14             bw.flush();
    15         }
    16         //释放资源
    17         bw.close();
    18         br.close();
    19     }
  • 相关阅读:
    Java:抽象类与接口
    OOP编程思想:类的设计原则
    Win10系统下设置Go环境变量和go语言开启go module
    Windows下Golang安装Iris框架
    AOS.JS 和基于Animation.css的收费库WOW.JS相似
    文本比价工具
    MySQL Order By Rand()效率
    datatable分页
    PHP面向对象之魔术方法
    PHP面向对象之序列化与反序列化
  • 原文地址:https://www.cnblogs.com/shenhx666/p/15065040.html
Copyright © 2011-2022 走看看