黑马程序员技术交流社区

标题: 怎么复制文件夹? [打印本页]

作者: Kikyou    时间: 2014-8-23 00:42
标题: 怎么复制文件夹?
看了下好多面试的都有问到,还在看基础,不知道怎么做

作者: 郑飞    时间: 2014-8-23 07:08
IO流部分有详细讲解的 不要急
作者: 思如涌泉    时间: 2014-8-23 07:28
你没看到IO流啊
作者: happymouse    时间: 2014-8-23 07:54
这个个人认为直接用File封装对象,然后新建就可以了
作者: 优乐    时间: 2014-8-23 11:46
本帖最后由 优乐 于 2014-8-23 11:49 编辑

File类就是代表文件或者文件夹,其中有2个方法是创建文件夹的mkdir()和mkdirs()
首先你得判断文件夹是否存在,使用exist()
如果不存在,就调用mkdirs(),创建文件夹

作者: sunshine9091    时间: 2014-8-23 13:29
你可以参考一下!
package com.itheima;

import java.io.*;

public class CopyFile {

        /**
         * @param args
         */
        public static void main(String[] args)throws IOException {
                // TODO Auto-generated method stub
                copy("F:\\java练习","G:\\java练习");
                System.out.println("文件已复制,请查看G:\\java练习");

        }
       
        public static void copy(String src,String des)throws IOException{
                File file1 = new File(src);
                File file2 = new File(des);
                File[] files = file1.listFiles();
               
                if(!file2.exists()){
                        file2.mkdirs();
                }
                for(File f : files){
                        if(f.isFile()){
                                filecopy(f.getPath(),des+"\\"+f.getName());
                        }else if(f.isDirectory()){
                                copy(f.getPath(),des+"\\"+f.getName());
                        }
                }
        }
       
        public static void filecopy(String src,String des)throws IOException{
                BufferedInputStream bufis = new BufferedInputStream(new FileInputStream(src));
                BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream(des));
               
                int len = 0;
                while((len=bufis.read())!=-1){
                        bufos.write(len);
                }
                bufis.close();
                bufos.close();
        }
       

}

作者: 威猛的小熊    时间: 2014-8-31 16:34
sunshine9091 发表于 2014-8-23 13:29
你可以参考一下!
package com.itheima;

不错啊。。。挺好的。。。。
作者: sunshine9091    时间: 2014-9-2 08:40
威猛的小熊 发表于 2014-8-31 16:34
不错啊。。。挺好的。。。。

呵呵。。。
作者: 陈新海1    时间: 2014-9-2 08:45
你不是面试完了吗
作者: 菜鸟一号    时间: 2014-9-2 08:48
你都面试完了,还问这个?在发水贴吗?
作者: yjiang_09    时间: 2014-9-2 08:57
跪了。。。。。。。
作者: 李章敏    时间: 2014-9-2 09:11
多看几遍就会了                                                   
作者: sk0806    时间: 2014-9-2 09:16
学习了。。
作者: 想做开发    时间: 2014-9-2 12:00
陈新海1 发表于 2014-9-2 08:45
你不是面试完了吗

面试完了???
作者: 陈新海1    时间: 2014-9-2 12:38
想做开发 发表于 2014-9-2 12:00
面试完了???

进去了17号开班
作者: Java黑马    时间: 2014-9-2 12:45
File这个还真没用过,复制以前都用的是io




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