黑马程序员技术交流社区

标题: 复制文件夹下所有文件 [打印本页]

作者: mandoooo    时间: 2015-12-4 22:42
标题: 复制文件夹下所有文件
复制文件夹下所有文件 代码怎么写呢?
作者: 高云    时间: 2015-12-5 14:25
   public static void main(String[] args) throws IOException {           //指定数据源            File srcPath = new File("E:\\新建文件夹 (2)");            //指定目的地            File destPath = new File("E:\\新建文件夹(4)");            //复制文件夹            fuzhiwenjianjia(srcPath,destPath);    }       //复制文件夹    private static void fuzhiwenjianjia(File srcPath, File destPath) throws IOException {        //创建目的地文件夹            destPath.mkdir();            //获取数据源中所有的File对象            File[] files = srcPath.listFiles();//获取目录下的所有文件和文件夹, 封装成数组            //遍历,得到每一个File对象            for (File file : files) {                 //判断当前File对象是否为文件夹                    //isDirectory()判断是不是文件夹                    if(file.isDirectory()){                            File dest = new File(destPath,file.getName());                      //进去子文件夹,递归回到复制文件夹                            fuzhiwenjianjia(file,dest);                    }else{                            File dest = new File(destPath,file.getName());                        //调用复制文件的方法                            fuzhiwenjian(file,dest);                    }         }                }         private static void fuzhiwenjian(File file, File dest) throws IOException {             //指定数据源                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));            //指定目的地                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dest));                 //创建字节数组                 byte[] buffer = new byte[1024];                 int len = -1;                    //读取                 while((len = bis.read(buffer)) != -1){                         //写入                         bos.write(buffer, 0, len);                 }              //关闭流                 bis.close();                 bos.close();         }  
作者: 高云    时间: 2015-12-5 14:26
   public static void main(String[] args) throws IOException {
          //指定数据源
           File srcPath = new File("E:\\新建文件夹 (2)");
           //指定目的地
           File destPath = new File("E:\\新建文件夹(4)");
           //复制文件夹
           fuzhiwenjianjia(srcPath,destPath);
   }
      //复制文件夹
   private static void fuzhiwenjianjia(File srcPath, File destPath) throws IOException {
       //创建目的地文件夹
           destPath.mkdir();
           //获取数据源中所有的File对象
           File[] files = srcPath.listFiles();//获取目录下的所有文件和文件夹, 封装成数组
           //遍历,得到每一个File对象
           for (File file : files) {
                //判断当前File对象是否为文件夹
                   //isDirectory()判断是不是文件夹
                   if(file.isDirectory()){
                           File dest = new File(destPath,file.getName());
                     //进去子文件夹,递归回到复制文件夹
                           fuzhiwenjianjia(file,dest);
                   }else{
                           File dest = new File(destPath,file.getName());
                       //调用复制文件的方法
                           fuzhiwenjian(file,dest);
                   }
        }
          
   }
        private static void fuzhiwenjian(File file, File dest) throws IOException {
            //指定数据源
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
           //指定目的地
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dest));
                //创建字节数组
                byte[] buffer = new byte[1024];
                int len = -1;
                   //读取
                while((len = bis.read(buffer)) != -1){
                        //写入
                        bos.write(buffer, 0, len);
                }
             //关闭流
                bis.close();
                bos.close();
        }  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2