利用java本地拷贝文件及文件夹
如何实现文件夹对文件夹的拷贝呢?如果文件夹里还有文件夹怎么办呢?
接下来我就将我的方法演示给一些初学者,希望能够帮助你们!
/*
* 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());
}
}
}
}
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


