qq_Kindergarten_0
2018-06-30 11:35
//在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; } }
请问哪里出问题了,本人自己看不出,望解答
ArrayList<File> list = new ArrayList<>(); 这个泛型后面的<>中应该也是File,这样子他才是ok的。
Java入门第三季
409771 学习 · 4388 问题
相似问题