Java File类应用:递归遍历文件夹和递归删除文件
生活随笔
收集整理的這篇文章主要介紹了
Java File类应用:递归遍历文件夹和递归删除文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要求:
1)采用遞歸遍歷文件夾下的所有文件,包括子文件夾下的文件
2)采用遞歸刪除文件下的所有文件
注意:
以下遞歸刪除文件的方法,只能刪除文件,所有的文件夾都還會存在若要刪除正文文件夾,可以在遞歸刪除完后,在使用flie.delete()刪除整個文件夾 package 遞歸刪除文件夾下的所有文件;import java.io.File;public class Test {public static void main(String[] args) {File file=new File("D:\\Homework");showFile(file);System.out.println();removeFile(file);}//遞歸遍歷文件夾public static void showFile(File file){//判斷file是文件還是文件夾,是文件直接輸出if(file.isFile()){System.out.println("--文件名:"+file);}else{System.out.println("【文件夾】:"+file);//獲取當前文件夾下的所有文件,包括文件夾File[] files=file.listFiles();//對當前文件夾下的文件進行遍歷,此時需用重復上述操作:判斷是否為文件,若是,直接輸出;若不是,需要再次遍歷//此時就需要遞歸了for (File file2 : files) {showFile(file2);}}}//遞歸刪除文件夾和所有文件public static void removeFile(File file){//判斷file是文件還是文件夾,是文件直接刪除if(file.isFile()){boolean isSuccess=file.delete();String string=isSuccess?"刪除成功":"刪除失敗";System.out.println("--文件刪除:"+file+" "+string);}else{System.out.println("【文件夾】:"+file);//獲取當前文件夾下的所有文件,包括文件夾File[] files=file.listFiles();//遍歷文件夾,并調用removeFile()對每個文件判斷是文件夾還是文件,在進行刪除for (File file2 : files) {removeFile(file2);}}} }有文件時,運行結果(即第一次運行結果):
沒有文件時運行結果(即在完成刪除后,再次運行程序結果):
總結
以上是生活随笔為你收集整理的Java File类应用:递归遍历文件夹和递归删除文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 综合应用题:多线程复制文件(知识点:多线
- 下一篇: java美元兑换,(Java实现) 美元