为了账号安全,请及时绑定邮箱和手机立即绑定

IO流复制文件夹(包含子文件夹中文件)的问题

//在D盘下创建一个目录d1,在目录d1下创建创建若干个文本文件,并在每一个文本文件中添加若干内容。利用字节流
//将该目录下的所有文件复制到D盘下的d2目录下。
public class Test10 {

    public static void main(String[] args) throws Exception {
        //创建源文件夹对象
        File dir = new File("D:\\图片\\新建文件夹");
        ArrayList<File> list = new ArrayList<>();
        ArrayList<File> filesList = BLfile(dir, list);
        //创建目标文件夹对象
        File dir2 = new File("D:\\图片\\新建文件夹2");
        copyFile(list, dir2);
    }

    private static void copyFile(ArrayList<File> list, File dir2) throws Exception {
        //遍历集合拿到每个源文件对象
        for (File f : list) {
            //创建读取对象
            FileInputStream fis = new FileInputStream(f);
            //创建文件输入对象
            FileOutputStream fos = new FileOutputStream(new File(dir2,f.getName()));
            int len = -1;
            byte[] b = new byte[1024];
            while ((len = fis.read(b)) != -1) {
                fos.write(b, 0, len);
            }
        }
    }

    //拿到每个文件夹中文件对象的方法
    public static ArrayList<File> BLfile(File dir, ArrayList<File> list) {

        if (dir.isFile()) {
            list.add(dir.getAbsoluteFile());
            return list;
        }
        File[] f1 = dir.listFiles();
        for (File f : f1) {
            if (f.isFile()) {
                list.add(f.getAbsoluteFile());
            } else {
                BLfile(f, list);
            }
        }
        return list;
    }
}

请问哪里出问题了,本人自己看不出,望解答

正在回答

1 回答

ArrayList<File> list = new ArrayList<>();
这个泛型后面的<>中应该也是File,这样子他才是ok的。
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

IO流复制文件夹(包含子文件夹中文件)的问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号