黑马程序员技术交流社区

标题: 如何复制一个文件夹中的所有文件呢 [打印本页]

作者: 任亚俊    时间: 2013-12-26 16:37
标题: 如何复制一个文件夹中的所有文件呢
如题,如何复制一个文件夹中的所有文件呢?
1.怎样得到这个文件夹中的文件呢?
2.会用到递归吗?
3.希望各位提供关键代码。

作者: Diaraelo    时间: 2013-12-26 18:09
本帖最后由 Diaraelo 于 2013-12-26 18:27 编辑

等我找找,我把以前写的程序都保存起来了 呵呵,推荐大家吧这种方法,不过应该大多数人都是这样的,我都把很多以前做的功能分成很小的功能块
保存了起来,这样以后自己要用到的时候就可以找出来看看啊 使用了。哈哈


  1. private void aviSelect(File file)
  2. {
  3. File[] names = file.listFiles();
  4. for(int x=0;x<names.length;x++)
  5. {
  6. if(names[x].isDirectory())
  7. aviSelect(names[x]);//递归在这,用于进入次级文件夹
  8. else
  9. {
  10. if(names[x].getName().endsWith(".avi") || names[x].getName().endsWith(".mp4") || names[x].getName().endsWith(".rmvb")
  11. || names[x].getName().endsWith(".mp3"))//前面这些是我原功能是要特定文件。。。就是多媒体,你改成你自己的
  12. copy( names[x].getName() ,names[x].getPath())//...就是你方法就是拷贝功能

  13. }
  14. }
  15. }

  16. public static copy(String name,String path)

  17. //这个你应该会把 就自己写吧。。。。。就是文件拷贝
复制代码
找到了,大概就是这个程序了。
这个还没有实现复制功能,不过你修改下添加几个代码就应该可以了。
因为我是用来特定搜索多媒体文件用的,所以你要自己改下,不过大致结构是如上的吧。
你只要把后面的打印输出代码改写成建立一个流对象,因为你的文件不一定都是文字,所以用inputstream吧,将我这查找到的数据接上,再通过outputstream方法复制出去就可以了,我建议你将这个复制功能单独写成一个方法,然后再通过上面这个调用复制功能,复制功能传入参数就是我上面搜索到的文件名和地址就可以了。


作者: 任亚俊    时间: 2013-12-26 18:54
Diaraelo 发表于 2013-12-26 18:09
等我找找,我把以前写的程序都保存起来了 呵呵,推荐大家吧这种方法,不过应该大多数人都是这样的,我都把 ...

谢谢啊,知道思路了。




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