IO(三)


缓冲流

缓冲流就是基本流的装饰,也就是功能加强。

一共有四种缓冲流

BufferedReader

BufferedWriter

BufferedInputStream

BufferedOutputStream



BufferedReader

该缓冲流有readLine方法,可以读一行字符。其原理就是该类中定义了一个数组,磁盘将读到的数据给内存,当读完一行内存再给cpu提高了效率。


BufferedReader例子

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileWriter;
public class Demo1 {
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new FileReader("F:\\JavaCode\\Demo.java"));
		BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\jc\\Demo.txt"));
		
		String line=null;
		while((line=br.readLine())!=null){
			bw.write(line);
			bw.newLine();
			bw.close();               //一定要刷新,不然数据无法写磁盘。这里用的close,在关闭之前会调用flush.
		}
		br.close();
	}
}



BufferedInputStream复制图片

import java.io.*;
public class Demo2 {
	public static void main(String[] args)throws IOException {
		BufferedInputStream bi=
				new BufferedInputStream(new FileInputStream("F:\\jc\\1.jpg"));
		BufferedOutputStream bo=
				new BufferedOutputStream(new FileOutputStream("F:\\jc\\2.jpg"));
		
		byte[] line=new byte[1024];
		while(bi.read(line)!=-1){
			bo.write(line);
			
			
		}
		bo.close();  //写在循环外,不然数据大于1KB,在第一次循环就把流关闭了
		bi.close();
	}
}


posted @ 2014-07-06 01:15  lisisong  阅读(155)  评论(0编辑  收藏  举报