IO流復(fù)制文件夾(包含子文件夾中文件)的問題
//在D盤下創(chuàng)建一個(gè)目錄d1,在目錄d1下創(chuàng)建創(chuàng)建若干個(gè)文本文件,并在每一個(gè)文本文件中添加若干內(nèi)容。利用字節(jié)流 //將該目錄下的所有文件復(fù)制到D盤下的d2目錄下。 public?class?Test10?{ ????public?static?void?main(String[]?args)?throws?Exception?{ ????????//創(chuàng)建源文件夾對(duì)象 ????????File?dir?=?new?File("D:\\圖片\\新建文件夾"); ????????ArrayList<File>?list?=?new?ArrayList<>(); ????????ArrayList<File>?filesList?=?BLfile(dir,?list); ????????//創(chuàng)建目標(biāo)文件夾對(duì)象 ????????File?dir2?=?new?File("D:\\圖片\\新建文件夾2"); ????????copyFile(list,?dir2); ????} ????private?static?void?copyFile(ArrayList<File>?list,?File?dir2)?throws?Exception?{ ????????//遍歷集合拿到每個(gè)源文件對(duì)象 ????????for?(File?f?:?list)?{ ????????????//創(chuàng)建讀取對(duì)象 ????????????FileInputStream?fis?=?new?FileInputStream(f); ????????????//創(chuàng)建文件輸入對(duì)象 ????????????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); ????????????} ????????} ????} ????//拿到每個(gè)文件夾中文件對(duì)象的方法 ????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; ????} }
請(qǐng)問哪里出問題了,本人自己看不出,望解答
2018-07-04