All files under the JAVA Traversal folder (recursive calls and non-recursive calls)
1. Do not use recursive method calls.
Public voidtraverseFolder1 (String path) {intFileNum = 0, Foldernum = 0; File File=NewFile (path); if(File.exists ()) {LinkedList<File> list =NewLinkedlist<file>(); file[] Files=File.listfiles (); for(File file2:files) {if(File2.isdirectory ()) {System.out.println ("Folder:" +File2.getabsolutepath ()); List.add (file2); FileNum++; } Else{System.out.println ("File:" +File2.getabsolutepath ()); Foldernum++; }} File Temp_file; while(!List.isEmpty ()) {Temp_file=List.removefirst (); Files=Temp_file.listfiles (); for(File file2:files) {if(File2.isdirectory ()) {System.out.println ("Folder:" +File2.getabsolutepath ()); List.add (file2); FileNum++; } Else{System.out.println ("File:" +File2.getabsolutepath ()); Foldernum++; } } } } Else{System.out.println ("File does not exist!"); } System.out.println ("Folder total:" + foldernum + ", file total:" +FileNum); }
2. Use recursive method calls.
Public voidtraverseFolder2 (String path) {File file=NewFile (path); if(File.exists ()) {file[] files=File.listfiles (); if(Files.length = = 0) {System.out.println ("The folder is empty!"); return; } Else { for(File file2:files) {if(File2.isdirectory ()) {System.out.println ("Folder:" +File2.getabsolutepath ()); TraverseFolder2 (File2.getabsolutepath ()); } Else{System.out.println ("File:" +File2.getabsolutepath ()); } } } } Else{System.out.println ("File does not exist!"); } }
3,
Public StaticList<file>getfilelist (String strpath) {File dir=NewFile (strpath); file[] Files= Dir.listfiles ();//all the files in the file directory are put into the array if(Files! =NULL) { for(inti = 0; i < files.length; i++) {String fileName=Files[i].getname (); if(Files[i].isdirectory ()) {//decide if it's a file or a folderGetfilelist (Files[i].getabsolutepath ());//get file absolute path}Else if(Filename.endswith ("avi")) {//determine if the file name ends with an. aviString strFileName =Files[i].getabsolutepath (); System.out.println ("---" +strFileName); Filelist.add (Files[i]); } Else { Continue; } } } returnfilelist; }
All files under the JAVA Traversal folder (recursive calls and non-recursive calls)