请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

Java基础IO类之缓冲流

[复制链接]
查看: 15|回复: 0

1万

主题

2万

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
52009
发表于 2019-12-3 03:58 | 显示全部楼层 |阅读模式
起首要明白一个概念:
  对文件或其他方针频仍的读写操纵,服从低,性能差。
  利用缓冲流的优点是:可以大要高效的读写信息,道理是先将数据先缓冲起来,然后一路写入大要读取出来。
对于字节:
BufferedInputStream:为另一个输入流增加一些功用,在建立BufferedInputStream时,会建立一个内部缓冲区数组,用于缓冲数据。
BufferedOutputStream:经过设备这类输出流,利用步伐便可以将各个字节写入底层输出流中,而不必针对每次字节写入挪用底层系统。
对于字符:
BufferedReader:将字符输入流中读取文本,并缓冲各个字符,从而实现字符、数组、和行的高效读取。
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而供给单个字符、数组和字符串的高效写入。

代码示例:
  1. package IODemo;import java.io.*;/*缓冲的方针:打点在写入文件操纵时,频仍的操纵文件所带来的性能低落的题目BufferedOutStream 内部默许的缓冲巨细是 8Kb,每次写入贮存到缓存中的byte数组中,当数组存尽是,会把数组中的数据写入文件而且缓存下标归零 */public class BufferedDemo {    //利用新语法 会在try里面帮关掉这个流    private static void BuffRead2(){        File file = new File("d:\\test\\t.txt");        try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))){            byte[] bytes = new byte[1024];            int len = -1;            while ((len = bis.read(bytes))!=-1){                System.out.println(new String(bytes,0,len));            }        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }    private static void BuffRead(){        File file = new File("d:\\test\\t.txt");        try {            InputStream in = new FileInputStream(file);            BufferedInputStream bis = new BufferedInputStream(in);            byte[] bytes = new byte[1024];            int len = -1;            while ((len = bis.read(bytes))!=-1){                System.out.println(new String(bytes,0,len));            }            bis.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }    private static void BuffWrite(){        File file = new File("d:\\test\\t.txt");        try {            OutputStream out = new FileOutputStream(file);            //机关一个字节缓冲流            BufferedOutputStream  bos = new BufferedOutputStream(out);            String info = "我是坎坷失意墨客";            bos.write(info.getBytes());            bos.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }    public static void main(String[] args) {  //  BuffWrite();        BuffRead2();    }}
复制代码


免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 妈妈网-中国妈妈第一,是怀孕、育儿、健康等知识交流传播首选平台 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表