您的位置:首页 > 编程语言 > Java开发

递归拷贝一个文件夹(java实现)

2012-12-14 15:54 417 查看
package yuqiao.basic;

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

public class FloderDtoE {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
copyDirectory("D:\\xxxx","E:\\xxx");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean copyDirectory(String sourceFile,String desFile) throws IOException{
File source=new File(sourceFile);
if(!source.exists())
{
System.out.println(source.getAbsolutePath()+"=======源文件不存在=======");
return false;
}
File des=new File(desFile);
if(!des.exists()){
des.mkdirs();
}
File[] file=source.listFiles();
FileInputStream input=null;
FileOutputStream output=null;
for(int i=0;i<file.length;i++)
{
try {
if(file[i].isFile()){
input=new FileInputStream(file[i]);
output=new FileOutputStream(new File(desFile+"/"+file[i].getName()));
byte[] b=new byte[1024];
int len;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
input.close();
output.flush();
output.close();

}else if(file[i].isDirectory()){
copyDirectory(sourceFile+"/"+file[i].getName(),desFile+"/"+file[i].getName());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}

if(input!=null)input.close();
if(output!=null)output.close();
return true;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: