A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任亚俊 中级黑马   /  2013-12-26 16:37  /  1451 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题,如何复制一个文件夹中的所有文件呢?
1.怎样得到这个文件夹中的文件呢?
2.会用到递归吗?
3.希望各位提供关键代码。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

2 个回复

倒序浏览
本帖最后由 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方法复制出去就可以了,我建议你将这个复制功能单独写成一个方法,然后再通过上面这个调用复制功能,复制功能传入参数就是我上面搜索到的文件名和地址就可以了。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
Diaraelo 发表于 2013-12-26 18:09
等我找找,我把以前写的程序都保存起来了 呵呵,推荐大家吧这种方法,不过应该大多数人都是这样的,我都把 ...

谢谢啊,知道思路了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马