利用java本地複製檔案及資料夾 (轉)

amyz發表於2007-08-15
利用java本地複製檔案及資料夾 (轉)[@more@]

我看到有許多朋友在論壇問這樣的問題:

如何實現夾對資料夾的複製呢?如果資料夾裡還有資料夾怎麼辦呢?

接下來我就將我的方法演示給一些初學者,希望能夠幫助你們!

/*
 * CopyRight by
 */
package copyfile;
import .io.*;
/**
 * @author Administrator
 *
 * Class Function:
 */
public class copyDirectory {
 public static void main(String args[]) throws IOException {
 String url1="C:/s/kele";
 String url2="d:/java/copyfile/copy";
 (new File(url2)).mkdirs();
 File[] file=(new File(url1)).listFiles();
 for(int i=0;i if(file[i].iile()){
 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 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());
 }
 
 }

 }
}

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958834/,如需轉載,請註明出處,否則將追究法律責任。

相關文章