java基础8:io流对象之缓冲流

1, 字节缓冲输入流BufferedInputStream

/*
 *  字节输入流的缓冲流
 *    java.io.BufferedInputStream 
 *     继承InputStream,标准的字节输入流
 *     读取方法  read() 单个字节,字节数组
 *    
 *    构造方法:
 *      BufferedInputStream(InputStream in)
 *      可以传递任意的字节输入流,传递是谁,就提高谁的效率
 *      可以传递的字节输入流 FileInputStream
 */

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("e:a.txt"));

int len = 0;

byte[] bytes = new byte[1024];

while((len=bis.read(bytes))!=-1){

System.out.print(new String(bytes,0,len));

}

bis.close();


2, 字节缓冲输出流BufferedOutputStream

/*
 *  字节输出流的缓冲流
 *   java.io.BufferedOuputStream 作用: 提高原有输出流的写入效率
 *   BufferedOuputStream 继承 OutputStream
 *   方法,写入 write 字节,字节数组
 *   
 *   构造方法:
 *     BufferedOuputStream(OuputStream out)
 *     可以传递任意的字节输出流, 传递的是哪个字节流,就对哪个字节流提高效率
 *     
 *     FileOutputSteam
 */

//创建字节输出流缓冲流的对象,构造方法中,传递字节输出流
BufferedOutputStream bos = new BufferedOutputStream(newFileOutputStream("c:\\buffer.txt"));

byte[] bytes = "hello".getBytes();

bos.write(bytes);

3, 字符缓冲输出流BufferedWriter

/*
 *   字符输出流缓冲区流
 *     java.io.BufferedWriter 继承 Writer
 *     写入方法 write () 单个字符,字符数组,字符串
 *     
 *     构造方法:
 *       BufferedWriter(Writer w)传递任意字符输出流
 *       传递谁,就高效谁
 *         能传递的字符输出流 FileWriter, OutputStreamWriter
 *         
 *    BufferedWriter 具有自己特有的方法
 *      void  newLine() 写换行
 *      
 *       newLine()文本中换行, \r\n也是文本换行
 *       方法具有平台无关性
 *       Windows  \r\n
 *       Linux    \n
 *       
 *       newLine()运行结果,和操作系统是相互关系
 *       JVM: 安装的是Windows版本,newLine()写的就是\r\n
 *            安装的是Linux版本,newLine()写的就是\n
 */

BufferedWriter br = new BufferedWriter(new FileWriter("e:a.txt"));

br.write("你好".toCharArray());

br.flush();

br.newLine();

br.write("你好");

br.flush();

br.close();

4,字符缓冲输入流BufferedReader

/*
 *  字符输入流缓冲流
 *    java.io.BufferedReader 继承 Reader
 *    读取功能 read() 单个字符,字符数组
 *    构造方法:
 *      BufferedReader(Reader r)
 *      可以任意的字符输入流
 *         FileReader  InputStreamReader
 *         
 *     BufferedReader自己的功能
 *     String readLine() 读取文本行 \r\n
 *     
 *     方法读取到流末尾,返回null
 *     小特点:
 *       获取内容的方法一般都有返回值
 *       int 没有返回的都是负数
 *       引用类型 找不到返回null
 *       boolean 找不到返回false     
 *       readLine()方法返回行的有效字符,没有\r\n
 */

//创建字符输入流缓冲流对象,构造方法传递字符输入流,包装数据源文件

BufferedReader br = new BufferedReader(new FileReader("e:a/txt"));

String line = "";

//调用缓冲流的方法 readLine()读取文本行
//循环读取文本行, 结束条件 readLine()返回null

while((line = br.readLine())!=null){

System.out.println(line);

}

br.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值