服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

利用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());
   }
    
   }
  
   }
  }

扫描关注微信公众号