博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
缓冲流
阅读量:4948 次
发布时间:2019-06-11

本文共 2584 字,大约阅读时间需要 8 分钟。

1       字节缓冲流

字节缓冲流根据流的方向,共有2个

l  写入数据到流中,字节缓冲输出流 BufferedOutputStream

l  读取流中的数据,字节缓冲输入流 BufferedInputStream

练习:用字节缓冲流复制文件

public class Demo07 {    public static void main(String[] args) throws IOException {        long time1=System.currentTimeMillis();        //明确数据源        FileInputStream fis=new FileInputStream("D:\\codetool\\jdk1.8.zip");        //添加缓冲区        BufferedInputStream bis=new BufferedInputStream(fis);        //添加目的地        FileOutputStream fos=new FileOutputStream("D:\\test\\jdk1.8.zip");        //添加缓冲区        BufferedOutputStream bos=new BufferedOutputStream(fos);        //开始复制        byte[]bytes=new byte[1024];        int len=0;        while((len=bis.read(bytes))!=-1){            bos.write(bytes,0,len);        }        //释放资源        bis.close();        bos.close();        long time2=System.currentTimeMillis();        System.out.println(time2-time1);    }}

2  字符缓冲流

2.1    BufferedWriter

void newLine() 根据当前的系统,写入一个换行符

2.2  BufferedReader

public readLine() 读取一个文本行,包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。

练习:用字符缓冲流复制文本文件

public class Demo08 {    //newLine()    //Windows:\r\n    //Linux:\n    //public String readLine()    public static void main(String[] args) throws IOException {        //m1();        //m2();        copy();    }    public static void m1() throws IOException{        //明确目的地        FileWriter fw=new FileWriter("D:\\test\\x.txt");        //添加缓冲流        BufferedWriter bw=new BufferedWriter(fw);        bw.write("巴拉拉小魔仙");        bw.newLine();        bw.flush();        bw.write("全身变");        bw.newLine();        //释放资源        bw.close();    }    public static void m2() throws IOException{        //明确数据源        FileReader fr=new FileReader("D:\\test\\x.txt");        //添加缓冲流        BufferedReader br=new BufferedReader(fr);        //开始读        int linenum=0;        String line=null;        while((line=br.readLine())!=null){            linenum++;            System.out.println(linenum+" "+line);        }        //释放资源        br.close();    }    public static void copy() throws IOException{        //明确数据源        FileReader fr=new FileReader("D:\\test\\x.txt");        //添加缓冲流        BufferedReader br=new BufferedReader(fr);        //明确目的地        FileWriter fw=new FileWriter("D:\\test\\e\\x.txt");        //添加缓冲流        BufferedWriter bw=new BufferedWriter(fw);        //开始复制        String line=null;        while((line=br.readLine())!=null){            bw.write(line);            bw.newLine();            bw.flush();        }        //释放资源        br.close();        bw.close();    }}

 

转载于:https://www.cnblogs.com/quanjunkang/p/10655633.html

你可能感兴趣的文章
C#枚举Enum[轉]
查看>>
第三百五十七天 how can I 坚持
查看>>
【动态规划】流水作业调度问题与Johnson法则
查看>>
startActivityForResult不起作用
查看>>
Python&Selenium&Unittest&BeautifuReport 自动化测试并生成HTML自动化测试报告
查看>>
活现被翻转生命
查看>>
POJ 1228
查看>>
SwaggerUI+SpringMVC——构建RestFul API的可视化界面
查看>>
springmvc怎么在启动时自己执行一个线程
查看>>
流操作的规律
查看>>
Python基础学习15--异常的分类与处理
查看>>
javascript运算符的优先级
查看>>
React + Redux 入门(一):抛开 React 学 Redux
查看>>
13位时间戳和时间格式化转换,工具类
查看>>
vue router-link子级返回父级页面
查看>>
C# 通知机制 IObserver<T> 和 IObservable<T>
查看>>
Code of Conduct by jsFoundation
查看>>
div 只显示两行超出部分隐藏
查看>>
C#小练习ⅲ
查看>>
debounce、throttle、requestAnimationFrame
查看>>