java中常用io流 BufferedInputStream和BufferedOutputStream

       BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 markreset 方法的能力。在创建 BufferedInputStream 时,会创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节。
  这是摘录自API文档中的
BufferedInputStream 


方法摘要
 intavailable()
          返回可以从此输入流读取(或跳过)、且不受此输入流接下来的方法调用阻塞的估计字节数。
 voidclose()
          关闭此输入流并释放与该流关联的所有系统资源。
 voidmark(int readlimit)
          参见 InputStreammark 方法的常规协定。
 booleanmarkSupported()
          测试此输入流是否支持 markreset 方法。
 intread()
          参见 InputStreamread 方法的常规协定。
 intread(byte[] b, int off, int len)
          从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。
 voidreset()
          参见 InputStreamreset 方法的常规协定。
 longskip(long n)
          参见 InputStreamskip 方法的常规协定。
构造方法摘要
BufferedInputStream(InputStream in)
          创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
BufferedInputStream(InputStream in, int size)
          创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
     BufferedOutputStream的跟BufferedInputStream基本类似,一个为写入一个为读出。  BufferedOutputStream带有一个刷新功能,与关闭一起使用。下面是一个简单的使用例子,通过 对文件的 写入和读出,实现了对文件的拷贝功能。

   另外在读取写入文件的时候要抛异常。
import java.io.*;

public class Buffered1 {
	public static void main(String[] args){
		
		BufferedInputStream  bi = null;
		FileInputStream      fi = null;
		BufferedOutputStream bo = null;
		FileOutputStream     fo = null;
		try {
			fi = new FileInputStream("E:\\haha\\class1.class");
			fo = new FileOutputStream("E:\\class1.class");
			bi = new BufferedInputStream(fi);
			bo = new BufferedOutputStream(fo);
			int next = 0;
			while((next=bi.read())!=-1){
				bo.write(next);
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				bi.close();
				bo.flush();
				bo.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
		
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值