1 /* 2 需求:刪除H:\demo目錄下的帶內容的文件 3 分析: 4 A:封裝該目錄 5 B:獲取該目錄下所有的文件或文件夾的File數組 6 C:遍歷該File數組,獲取每一個File對象 7 D:判斷所遍歷的FIle對象 8 是否是文件夾 9 是:返回步驟B 10 不是:判斷里面是否有內容 11 有:刪除 12 不是:不理 13 B-D設為遞歸方法: 14 返回類型;void 15 參數列表:File xxx 16 出口:文件里面有內容 17 */ 18 package zl_DiGui; 19 20 import java.io.File; 21 22 public class FileDeleteDemo { 23 24 public static void main(String[] args) { 25 26 //封裝該目錄 27 File allfile = new File("H:\\demo"); 28 29 //調用遞歸 30 deletefile(allfile); 31 } 32 33 //遞歸方法 34 private static void deletefile(File allfile) { 35 //獲取該目錄下的所有文件或文件夾的File數組 36 File[] arrayfile = allfile.listFiles(); 37 38 //遍歷該數組,獲取每一個File對象 39 for(File file : arrayfile){ 40 //判斷是否是文件夾 41 if(file.isDirectory()){ 42 //是的話,返回步驟B 43 deletefile(file); 44 } 45 else{ 46 //不是,就判斷是否為空文件 47 long l = file.length(); 48 if(l != 0 ){ 49 file.delete(); 50 } 51 //如果是空文件的話,就輸出它的名稱和絕對路徑 52 else{ 53 System.out.println(file.getName()+"\t"+file.getAbsolutePath()); 54 /* 55 a.txt H:\demo\a.txt 56 地方.mp3 H:\demo\地方.mp3 57 斯蒂芬撒.avi H:\demo\撒旦發射的\斯蒂芬撒.avi 58 */ 59 } 60 } 61 } 62 63 } 64 65 }