Java缓冲流(字节缓冲流 与 字符缓冲流)复制文件

本文介绍了Java中字节和字符缓冲流的使用,通过BufferedInputStream和BufferedOutputStream实现高效文件复制,以及BufferedReader和BufferedWriter进行字符流的读写操作。示例代码详细展示了如何利用缓冲流提升文件操作性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缓冲流(高级流:需要在节点流(字节:FileInputStream、FileOutputStream。字符:FileReader 、FileWriter)的基础上创建)

1、字节缓冲流(BufferedInputStream)

package com.Java缓冲流;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedStream字节 {

	public static void main(String[] args) throws IOException{
		//创建文件输入流,用于读文件(相当于Windows里复制文件)
		FileInputStream fileIn = new FileInputStream("C:\\Users\\Desktop\\InStream.txt");
		//创建文件输出流,用于写文件(相当于Windows里粘贴文件)
		FileOutputStream fileOut = new FileOutputStream("C:\\Users\\Desktop\\OutStream.txt");
		
		//创建字符输入缓冲区,存放读出的数据流
		BufferedInputStream bufferedIn = new BufferedInputStream(fileIn);
		//创建字符输出缓冲区,存放要写入的数据流
		BufferedOutputStream bufferedOut = new BufferedOutputStream(fileOut);
		//读写
		byte [] bs = new byte[4];
		int i = bufferedIn.read(bs);
		while(i!=-1) {
			//输出缓冲流写入
			bufferedOut.write(bs, 0, i);
			//输入缓冲流读取
			i = bufferedIn.read(bs);
		}
		//关闭
		bufferedOut.close();
		fileOut.close();
		bufferedIn.close();
		fileIn.close();
	}
}

2、字符缓冲流(BufferedOutputStream)

package com.Java缓冲流;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedStream字符 {

	public static void main(String[] args) throws IOException {
		//创建文件输入流,用于读文件(相当于Windows里复制文件)
		FileReader fileIn = new FileReader("C:\\Users\\Desktop\\InStream.txt");
		//创建文件输出流,用于写文件(相当于Windows里粘贴文件)
		FileWriter fileOut = new FileWriter("C:\\Users\\Desktop\\OutStream.txt");
		//创建字符输入缓冲区,存放读出的数据流
		BufferedReader bufferedReader = new BufferedReader(fileIn);
		//创建字符输出缓冲区,存放要写入新文件的数据流
		BufferedWriter bufferedWriter = new BufferedWriter(fileOut);
		// 按行读取
		String line = bufferedReader.readLine();
		while (line != null) {
			bufferedWriter.write(line);
			line = bufferedReader.readLine();
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值