io流处理复制文件的问题

实现一个IO流的文件复制,想必是很简单的,有很多种方法可供我们使用
1、可以采用一个字节一个字节的方式,像蚂蚁搬家一样的复制
FileReader fr=new FileReader(“c:\\Intel\\a.jpg”);
FileWriter fw=new FileWriter(“c:\\Inter\\b.jpg”);
int len;
while((len=fr.read())!=-1){
fw.write(len);
fw.flush();
}
fw.close();
fr.close();
2、可以采用一次复制一个数组的方式,像开着一个车搬家一样的复制
FileReader fr=new FileReader(“c:\\Intel\\a.jpg”);
FileWriter fw=new FileWriter(“c:\\Inter\\b.jpg”);
byte[ ] arr=new byte[1024];
int len=-1;
while((len=fr.read(arr))!=-1){
fw.write(arr,0,len);
fw.flush();
}
fw.close();
fr.close();

3、也可以一次读取一行的形式进行复制,可以加上BUFF(就像游戏中的buff一样,让效率提高)
BufferedReader bur=new BufferedReader(new FileReader(“c:\\Intel\\a.jpg”));
BufferedWriter buw=new BufferedWriter(new FileWriter(“c:\\Inter\\b.jpg”));
String line;
while((line=bur.readLine())!=null){
buw.writeLine(line);
buw.flush();
}
buw.close();
bur.close();
但是这里有个小问题,加入我要是像一个文件夹中复制一个文件,这时候应该怎么写呢?还是像上面一样直接写地址吗?
不妨可以试一下,结果肯定是不行的,因为这里会出现NoSuchFieldException,当你直接传入一个文件夹路径的时候,系统会直接报错
这时候可以怎么做呢?以上面路径为例,此时文件名为a.jpg, 复制该文件到C盘的Myfile文件夹下,我们就可以传入”c:\\Myfile\\”+”a.jpg” ,这样在不改变源文件名的情况下,复制指定文件到某个文件夹下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值