黑马程序员技术交流社区

标题: 关于复制文件夹 [打印本页]

作者: 繁复    时间: 2015-6-3 23:00
标题: 关于复制文件夹
   学习了java的io流,发现复制文件夹没有什么太好的手段,无非就是递归的方法依次判断,然后再创建到新的文件夹,不知道有没有大神有更好的办法?下面粘一段自己写的复制文件夹的代码:   public static void main(String[] args) throws IOException {
                //创建新的文件夹
                File fl1 = new File("D:\\新的学习包");
                fl1.mkdir();
                //传递参数  老的文件夹名和新的文件夹名
                copyfile("D:\\学习包", fl1.getPath());
        }

        public static void copyfile(String oldpath, String newpath)
                        throws IOException {
                File fl = new File(oldpath);
                //循环判断是否是文件,通过字节流复制
                File[] files = fl.listFiles();
                for (File item : files) {
                        if (item.isDirectory()) {
                                File newfile = new File(newpath + "\\" + item.getName());
                                newfile.mkdir();
                                copyfile(item.getPath(), newfile.getPath());
                        } else {
                                InputStream input = new FileInputStream(item.getPath());
                                DataInputStream dis = new DataInputStream(input);
                                OutputStream output = new FileOutputStream(newpath + "\\"
                                                + item.getName());
                                DataOutputStream dos = new DataOutputStream(output);
                                int num = 0;
                                while ((num = dis.read()) != -1) {
                                        dos.write(num);
                                }
                                dis.close();
                                dos.close();

                        }
                }
        }

作者: zhw634631    时间: 2015-6-3 23:06
学习,看不懂
作者: 繁复    时间: 2015-6-3 23:10
zhw634631 发表于 2015-6-3 23:06
学习,看不懂

多写几遍就懂了

作者: Amu    时间: 2015-6-3 23:13
我觉得把原文件夹和目标文件夹放在main方法中,直接copyDir(src,des)简单明了些
作者: 定格在永远    时间: 2015-6-4 00:06
好、、、、、、、、、、
作者: 星辉祝愿    时间: 2015-6-4 14:51
学习啦···




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