A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李艳兵 中级黑马   /  2015-11-21 10:04  /  279 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**复制一个文件夹及里面的内容到指定目录
* @author Administrator
*
*/
public class Test14 {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception {
                //目标文件夹对象f2,及要复制到的路径
                File f2=new File("d:\\java1");
                File f1=new File("f:\\2");
                //传参到功能函数复制
                copyFile(f2,f1);
        }
        public static void copyFile(File f2,File f1) throws Exception{
                //如果f2是文件夹
                if(f2.isDirectory()){
                        //f1对象文件夹不存在
                        if(!f1.exists()){
                                //生成一个文件夹
                                f1.mkdir();
                                //列出原文件夹下一层的对象
                                File[] fs=f2.listFiles();
                                //遍历对象
                                for(File f:fs){
                                    //将对象的路径再封装成对象那个
                                        File f2File=new File(f2,f.getName());
                                        File f1File=new File(f1,f.getName());
                                        //递归复制
                                        copyFile(f2File,f1File);
                                }
                                
                        }
                //如果f2不是文件夹
                }else{
                        //把文件f2复制到f1中
                        BufferedInputStream bis=new BufferedInputStream(new FileInputStream(f2));
                        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(f1));
                        byte[] buf=new byte[1024];
                        int len=0;
                        while((len=bis.read(buf))!=-1){
                                bos.write(buf, 0, len);
                                bos.flush();
                        }
                        bis.close();
                        bos.close();
                }
        }

}

1 个回复

倒序浏览
学习了.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马