java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件
遞歸刪除文件夾中所有文件
要遞歸首先需要有方法。遞歸,即方法自己調用自己。一般在程序中很少使用,但在這個實現中,我們無法知道文件夾的深度,更無法根據深度來實現循環的嵌套。
遞歸兩個重要條件:
終止邊界
重復執行相同的問題
例如我們要實現求1*2*3*4*5,我們可以把5和1*2*3*4的結果相乘,而如何獲取1*2*3*4的結果呢,自然就是4與1*2*3*4的結果相乘了。而在這一過程中,我們始終是做同一件事:將n與n-1的階乘進行相乘。當然不可能無止境的乘下去,所以我們需要一個終止條件:n == 1。在這兩個條件下,我們便可以實現遞歸求得n的階乘了。
用代碼實現如下:
1 public static int jieCheng(intn) {2 if (n==1) { //終止條件
3 return 1;4 } else{5 return n * jieCheng(n-1); //n * (n-1)!
6 }7 }
遞歸求階乘
類 File
Java文件類以抽象的方式代表文件名和目錄路徑名。該類主要用于文件和目錄的創建、文件的查找和文件的刪除等。
用到的方法
String?pathname)?通過將給定路徑名字符串轉換為抽象路徑名來創建一個新 File 實例。
要刪除一個目錄下的所有文件和文件夾,我們可以分為這么幾步:
首先我們指定一個根目錄作為我們要刪除的對象;
例舉該目錄下所有子文件和文件夾;
遍歷子目錄文件,如果為文件,則直接刪除;如果為文件夾,則執行 2
將所有子文件、子文件夾都刪除完畢后,刪除文件夾本身
如下圖所示,把圈代表文件,方塊代表文件夾,則得到如下的執行順序:
判斷為不為空的文件夾,到2
判斷為不為空的文件夾,到3
判斷為空的文件夾,刪除自己,到4
判斷為文件,刪除自己,到5
此時該文件夾中所有內容都已刪除為空,刪除自己,到6
不為空文件夾,到7
為文件,刪除自己,到8
空文件夾,刪除自己,到9
此時根目錄已經為空文件夾了,再刪除自己,至此,所有文件和文件夾刪除完畢
用代碼實現就是以下的效果:
1 public static voiddelDir(File file) {2 if(file.isDirectory()) {3 File zFiles[] =file.listFiles();4 for(File file2 : zFiles) {5 delDir(file2);6 }7 file.delete();8 } else{9 file.delete();10 }11 }
十行代碼刪除所有文件
總結
以上是生活随笔為你收集整理的java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10无法使用小娜搜索本地应用问题的
- 下一篇: 使用Cross-Page Postbac