PackageCn.stat.p1.file;ImportJava.io.BufferedWriter;ImportJava.io.File;ImportJava.io.FileWriter;ImportJava.io.FilenameFilter;Importjava.io.IOException;Importjava.util.ArrayList;Importjava.util.List; Public classTextdemo {/** * @paramargs*/ Public Static voidMain (string[] args) {//TODO auto-generated Method StubFile fl=NewFile ("D:\\java"); FilenameFilter Filter=NewFilenameFilter () {@Override Public BooleanAccept (File dir, String name) {//TODO auto-generated Method Stub returnName.endswith (". Java"); } }; List<File> list=NewArraylist<file>(); GetFiles (fl,filter,list); File Fos=NewFile ("D:\\java\\info.txt"); Wirtefiles (List,fos); } Public Static voidGetFiles (File dir,filenamefilter filter,list<file>list) {file[] files=Dir.listfiles (); for(File file:files) {if(File.isdirectory ()) {getFiles (file,filter,list); }Else { if(Filter.accept (File,file.getname ())) {List.add (file); } } } } Public Static voidWirtefiles (list<file>list,file Desfile) {BufferedWriter BUFW=NULL; Try{BUFW=NewBufferedWriter (NewFileWriter (Desfile)); for(File file:list) {bufw.write (File.getabsolutepath ()); Bufw.newline (); Bufw.flush (); } } Catch(IOException e) {//TODO auto-generated Catch block Throw NewRuntimeException ("Can't write"); }finally { if(bufw!=NULL) { Try{bufw.close (); } Catch(IOException e) {//TODO auto-generated Catch block Throw NewRuntimeException ("Can't Shut down"); } } } }}
Io recursive write in Java