用字节流复制文件InputStream/OutputStream

本文详细介绍了如何使用字节流复制文件,包括从文件创建输入流,将内容输出到内存,通过内存数组读取,再利用输出流管道将内容从内存复制回新的文件。在操作过程中需要注意内存缓冲区的大小以及读写流的关闭顺序。

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

一、步骤

将文件 先创建输入流 输出到内存 在内存中创建内存数组读取 .txt——>内存

然后在内存数组中复制文件内容,通过创建输出流管道,从内存中输出 内存——>.txt

二、

//创建输入流,输出流

InputStream in= new FileInputStream("d:/abc.txt');
OutputStream out = new FileOutputStream("d:/xyz.txt");

//创界字节数组,因为是字节流,所以创建byte[]

        byte[] buf=new byte[];

注意:数组大小取决你文件的大小,如果文件过大需要开辟合适的缓冲区 数组多次读取文件内容

用in.available()获取文件大小

//在开辟的缓冲区内读取数组

in.read(buf);

//创建返回值,原因是:每次读取固定的长度,读到最后没有了 返回值为-1

int len=-1;

//进行多次输入的同时进行输出 内存——>xyz.txt

while(len!=in.read(buf)!=-1){
    out.write(buf,0,len);
}

注意:当返回值len不等于-1的时候说明文件有内容 需要继续输入,输入的同时进行输出输出的是内存数组buf中的缓存内容,最后两个参数是输出缓冲区内从0到len

//最后final先关闭输出流 在关闭输入流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱穿风衣的土豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值