码迷,mamicode.com
首页 > 其他好文 > 详细

把C盘中的一个多层文件夹拷贝到D盘中

时间:2016-01-01 21:06:21      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

class CopyWenJianJia
{
        public static void main(String[] args)throws Exception
        {
                //源文件夹
                String yuan = "C:\\nimeizide";
                //目的地
                String mudi = "D:\\nimeizide";
                //建立目标文件夹
                (new File(mudi)).mkdirs();
                //获取源文件夹当下的文件或目录
                File[] files = (new File(yuan)).listFiles();
                for(File file : files)
                {
                        if(file.isDirectory())
                        {
                                String yuanDir = yuan + "\\" + file.getName();
                                String mudiDir = mudi + "\\" + file.getName();
                                //复制目录
                                copyDir(yuanDir, mudiDir);
                        }
                        else
                        {
                                copyFile(file, new File(mudi + "\\" + file.getName()));
                        }
                }

        }
        //复制文件夹
        public static void copyDir(String yuanDir, String mudiDir)throws Exception
        {
                (new File(mudiDir)).mkdirs();
                File[] files = (new File(yuanDir)).listFiles();
                for(File file : files)
                {
                        if(file.isFile())
                        {
                                File yuanFile = file;//源文件
                                File mudiFile = new File(new File(mudiDir).getAbsolutePath() + "\\" + file.getName());
                                copyFile(yuanFile, mudiFile);
                        }
                        else
                        {
                                String yuanJia = yuanDir + "\\" + file.getName();
                                String mudiJia = mudiDir + "\\" + file.getName();
                                copyDir(yuanJia, mudiJia);
                        }
                }
        }
        //复制文件
        public static void copyFile(File yuanFile, File mudiFile)throws Exception
        {
                BufferedInputStream buis = new BufferedInputStream(new FileInputStream(yuanFile.getAbsoluteFile()));
                BufferedOutputStream buos = new BufferedOutputStream(new FileOutputStream(mudiFile.getAbsoluteFile()));
                byte[] buf = new byte[1024];
                int len;
                while((len = buis.read(buf)) != -1)
                {
                        buos.write(buf, 0, len);
                        buos.flush();
                }
                buis.close();
                buos.close();
        }

}

  

把C盘中的一个多层文件夹拷贝到D盘中

标签:

原文地址:http://www.cnblogs.com/shouce/p/5093686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!