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入门第三季
409776 学习 · 4546 问题
相似问题