利用java本地拷贝文件及文件夹

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

我看到有许多朋友在论坛问这样的问题:

如何实现文件夹对文件夹的拷贝呢?如果文件夹里还有文件夹怎么办呢?

接下来我就将我的方法演示给一些初学者,希望能够帮助你们!

/*

* CopyRight by http://www.designac.org

*/

package copyfile;

import java.io.*;

/**

* @author Administrator

*

* Class Function:

*/

public class copyDirectory {

public static void main(String args[]) throws IOException {

String url1="C:/Downloads/kele";

String url2="d:/java/copyfile/copy";

(new File(url2)).mkdirs();

File[] file=(new File(url1)).listFiles();

for(int i=0;i<file.length;i++){

if(file[i].isFile()){

FileInputStream input=new FileInputStream(file[i]);

FileOutputStream output=new FileOutputStream(url2+"/"+file[i].getName());

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

int len;

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

output.write(b,0,len);

}

output.flush();

output.close();

input.close();

}

if(file[i].isDirectory()){

copyDirectiory(url2+"/"+file[i].getName(),url1+"/"+file[i].getName());

}

}

}

public static void copyDirectiory(String file1,String file2) throws IOException{

(new File(file1)).mkdirs();

File[] file=(new File(file2)).listFiles();

for(int i=0;i<file.length;i++){

if(file[i].isFile()){

FileInputStream input=new FileInputStream(file[i]);

FileOutputStream output=new FileOutputStream(file1+"/"+file[i].getName());

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

int len;

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

output.write(b,0,len);

}

output.flush();

output.close();

input.close();

}

if(file[i].isDirectory()){

copyDirectiory(file1+"/"+file[i].getName(),file2+"/"+file[i].getName());

}

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有