缓冲流

一、字节缓冲流:输入流BufferedInputStream 、输出流BufferedOutputStream

构造方法

new BufferedInputStream(new FileInputStream());
字节缓冲流没有新增方法,可以多态调用父类方法。

步骤

  1. 选择流
  2. 读入写出
  3. 关闭

实例

public static void main(String[] args) {
		//1.选择流
		InputStream is=null;
		OutputStream os=null;
		
		try {
			is=new BufferedInputStream(new FileInputStream("D:/hehe.txt"));
			os=new BufferedOutputStream(new FileOutputStream("D:/H.txt"));
			//2.读入写出
			 byte[] car=new byte[1024];
			 int len=-1;
			 while((len=is.read(car))!=-1){
				 os.write(car, 0, len);
			 }
			 //3.刷出
			 os.flush();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally{
			try {
				if(os!=null){
					os.close();
				}
				if(is!=null){
					is.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

二、字符缓冲流:输入流BufferedReader、输出流BufferedWriter

构造方法

new BufferedReader(new FileReader(File));

新增方法

  1. String readLine() 读取一个文本行。 (不包含终止符,读不到文本返回null)

步骤

  1. 选择流
  2. 读入写出
  3. 关闭

实例

public static void main(String[] args) {
		//1.选择流
		BufferedReader is=null;
		BufferedWriter os=null;
		
		try {
			is=new BufferedReader(new FileReader("D:/hehe.txt"));
			os=new BufferedWriter(new FileWriter("D:/B.txt"));
			//2.读入写出
			 /*char[] car=new char[1024];
			 int len=-1;
			 while((len=is.read(car))!=-1){
				 os.write(car, 0, len);
			 }*/
			
			//新增方法,每次读取一行
			String str=null;
			while((str=is.readLine())!=null){
				os.write(str);
				os.newLine();
			}
			 //3.刷出
			 os.flush();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally{
			try {
				if(os!=null){
					os.close();
				}
				if(is!=null){
					is.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值