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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录

5 个回复

倒序浏览
IO流传输的是文件,不是文件夹,如果你要复制文件夹里面的文件,,就需要先在目标路径中先创建和原文件夹名一样的文件夹,在用IO操作文件.
public static void copy(File src,File dest) throws IOException {
                //把新文件的路径和源文件的文件名封装成对象
                File fi = new File(dest,src.getName());
                //在新文件夹中创建跟原文件名一样的文件夹
                fi.mkdir();
                //把源文件的路径封装成对象数组,拿到里面所有文件的对象
                File[] file2 = src.listFiles();
                //遍历源文件所有对象
                for (File file : file2) {
                        //判断如果是文件  就IO写如目标文件夹
                        if(file.isFile()){
                                BufferedInputStream bf1 = new BufferedInputStream(new FileInputStream(file));
                                BufferedOutputStream bf2 = new BufferedOutputStream(new FileOutputStream(new File(fi,file.getName())));
                                int b;
                                while((b= bf1.read())!= -1) {
                                        bf2.write(b);
                                }
                                bf1.close();
                                bf2.close();
                                //如果是文件夹 就递归调用
                        } else if(file.isDirectory()) {
                                copy(file,fi);
                        }
                       
                }
回复 使用道具 举报
flfjewffg 发表于 2016-9-13 11:25
IO流传输的是文件,不是文件夹,如果你要复制文件夹里面的文件,,就需要先在目标路径中先创建和原文件夹名一样 ...

谢谢分享,一起努力
回复 使用道具 举报
获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录的源码有没有,能分享一下么?
回复 使用道具 举报
文件夹直接新建就好了啊。。
回复 使用道具 举报
都可以!111111111111
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马