复制文件代码

今天想起文件复制代码,因为我曾经在网络看到一些文件复制的代码,我cpoy过来使用了一下,结果发现,复制之后的文件是空文件,而控制台却输出去正确,到底出现错误在哪里呢?
查了一下java API文件发现。
FileOutputStream的wirte方法可以实现文件复制
[img]http://dl.iteye.com/upload/attachment/290227/f7aed9a0-3473-308d-8909-7e94a5132a7c.jpg[/img]

首先我们应该将一个文件看做一个数组。
byte[] bytes=new byte[1024];


然后将这个数组的东西逐个写到另外一个文件中去,就可以实现全部复制了。

实现代码如下:

package com.qj87;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
* @author qinjie
* @file_name CopyFile.java
* @ctreate_time 2010-8-9 14:49
*/
public class CopyFile {
public static boolean copy(String location1,String location2){
try{
File file_in=new java.io.File(location1);
File file_out=new java.io.File(location2);

FileInputStream in1=new FileInputStream(file_in);
FileOutputStream out1=new FileOutputStream(file_out);

byte[] bytes=new byte[1024];
int c;

while((c=in1.read(bytes))!=-1){
out1.write(bytes,0,c);
}
in1.close();
out1.close();
return(true); //if sUCcess then return true
}
catch(Exception ex){
ex.printStackTrace();
return(false); //if fail then return false
}


}
public static void main(String[] args){
Boolean ff=copy("E:\\abc.jpg","D:\\abc.jpg");
if(ff==true)
System.out.println("+++++复制成功++++++");
else
System.out.println("------复制失败-----");

}

}




[color=red]
注意,千万不可以将文件关闭方法放进while中去,如果放进去的话,只能是复制了一个byte。打开副本只能得到一个一点。但是用肉眼看,就是一个空白文件。
[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值