首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

多级目录,文件Copy有关问题

2011-12-27 
多级目录,文件Copy问题前提:现在我有一个文件夹(命名为[一级目录]),下面有若干个子文件夹(命名为[二级目录

多级目录,文件Copy问题
前提:
  现在我有一个文件夹(命名为[一级目录]),下面有若干个子文件夹(命名为[二级目录1···N]),在每一个文件夹中都存在同名字文件夹(命名为[同名文件夹])

问题:
  我想把所有[同名文件夹]下的所有文件,Copy到某个目录(比如C:\My Document)下,怎样做。

  1、Java实现代码,有兴趣的可以考虑下

  2、Dos命令能不能实现,如何写命令。

  3、Bat批处理是否能实现,如何写代码。

注意:
  中间存在二级目录,并且名称不相同,Dos下能否使用通配符之类的实现。

[解决办法]

Java code
    public static  void copy(File dir_src,String  dir_des){                for(int i=0;i<dir_src.listFiles().length;i++){            File f=dir_src.listFiles()[i];            if(f.isDirectory()){                copy(f,dir_des+"/"+f.getName());            }else{                try {                    File dir=new File(dir_des);                    if(!dir.exists()){                        dir.mkdirs();                     }                                        FileChannel in=new FileInputStream(f).getChannel();                    File f_des=new File(dir_des+"/"+f.getName());                    FileChannel out=new FileOutputStream(f_des).getChannel();                    System.out.print("copy "+f.getAbsolutePath()+" to " +f_des.getAbsolutePath()+"...");                    in.transferTo(0, in.size(), out);                    in.close();                    out.close();                    System.out.println("success");                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            }        }    }
[解决办法]
LS的估计就可了,文件夹名字的规则你可以自己来定。
通过 if(f.isDirectory()){
copy(f,dir_des+"/"+f.getName());
}
这句递归,会把所有子目录文件都拷贝到你的目标文件夹。

热点排行