如何实现文件夹对文件夹的拷贝呢?如果文件夹里还有文件夹怎么办呢?
接下来我就将我的方法演示给一些初学者,希望能够帮助你们!
/*
* 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());
}
}
}
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器