Java中的字节输入输出流复制文件应用

本文展示了如何使用Java的字节输入输出流复制PDF文件。通过字节数组读取源文件内容,然后将数据写入目标文件,实现了文件的快速复制。在示例中,复制过程仅耗时162毫秒,确保了高效的文件迁移。

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

我们先上一个字节输入输出流的复制文件,代码:

public static void main(String[] args) {
	
		FileInputStream in = null;
		FileOutputStream o = null;
		long s = System.currentTimeMillis();
		try {
			in = new FileInputStream("F:\\a\\Sams teach yourself SQL in 10 minutes,4th edition.pdf");
			o = new FileOutputStream("f:\\a\\1.pdf");
			byte[] b = new byte[1024*5];
			int len = 0;
			while((len =in.read(b))!=-1) {
				o.write(b);
			}
		}catch(IOException e) {
			System.out.println("文件写入失败!");
		}finally {
			try {
				o.close();
			}catch(IOException e) {
				System.out.println("文件关闭失败!");
			}finally {
				try {
					in.close();
				}catch(IOException e) {
					System.out.println("文件关闭失败");
				}
			}
			
		}
		long e = System.currentTimeMillis();
		System.out.println(e-s);
	}
in = new FileInputStream("F:\\a\\Sams teach yourself SQL in 10 minutes,4th edition.pdf");

这句话是我们打算复制的文件,什么格式的都行,我们选择是pdf格式的

o = new FileOutputStream("f:\\a\\1.pdf");

这句话,是我们打算复制到的地方及文件重命名

byte[] b = new byte[1024*5];

运用字节数组读取,然后输出。

while((len =in.read(b))!=-1) {

当len不是-1的时候,说明,in一直在读取。

o.write(b);

把b数组中读取的数据取出来,写入o所代表的文件中(没有自动创建)

接下来就是异常及关闭流文件,不多说。下面:

	long s = System.currentTimeMillis();
	long e = System.currentTimeMillis();
		System.out.println(e-s);

这三句是我们为了测试,复制用多长时间而设置的,与读取文件无关。

结果:

162

162毫秒(0.162秒)

读取很快就完成了,这样就完整的在别处复制了一份文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值