copy文件夹

    技术2022-06-09  42

    package CE.lecky;    import java.io.*;  import java.util.*;  /**  *复制文件  *by lecky.lee  *2006-06-08  */    public class CopyFile  {   String intiPathOut;   //初始输出路径   int cnt=0;   //计数器,用于判定是否首次调用copyFiles方法   public void copyFiles(String pathIn,String pathOut) throws IOException   {   File f= new File(pathIn);   if(!f.exists()){   System.out.println ("源文件路径不存在");   System.exit(5);   }   if(cnt==0){   File out = new File(this.intiPathOut);   out.mkdir();   //首次调用执行,创建初始输出目录   }   if(f.isFile()){   this.copyFile(f,pathOut);   }   else{   this.copyDir(f,pathOut);   }       cnt++;      }      public void copyDir(File f,String pathOut) throws IOException{   System.out.println(f.getPath());         pathOut=this.intiPathOut+f.getPath().substring(2);   //修改输出路径字符串,将子文件夹相对路径追加至初始输出路径   //substring用于去掉路径中的驱动器盘符   File dir = new File(pathOut);   dir.mkdir();         File temp[]=f.listFiles();   for(int i=0;i   this.copyFiles(temp[i].toString(),pathOut);   //递归调用此方法   }      }      public void copyFile(File f,String pathOut) throws IOException{   System.out.println(f.getPath());      DataInputStream in = new DataInputStream(   new BufferedInputStream(   new FileInputStream(f.getPath())));         byte[] date = new byte[in.available()];      in.read(date);      DataOutputStream out = new DataOutputStream(   new BufferedOutputStream(   new FileOutputStream(pathOut+"/"+f.getName())));         out.write(date);      in.close();   out.close();       }   public static void main(String[] args) throws IOException   {   CopyFile cp = new CopyFile();   cp.intiPathOut="D:/11111111";   cp.copyFiles("D:/lecky","D:/11111111");   System.out.println ("复制完毕");    }     }


    最新回复(0)