File类2
? ?下面以兩個示例演示File類的綜合使用。第一個示例是顯示某個文件夾下的所有文件和文件夾,原理是輸出當前名稱,然后判斷當前File對 象是文件還是文件夾,如果則獲得該文件夾下的所有子文件和子文件夾,并遞歸調用該方法實現。
? ?第二個示例是刪除某個文件夾下的所有文件和文件夾,原理是判斷 是否是文件,如果是文件則直接刪除,如果是文件夾,則獲得該文件夾下所有的子文件和子文件夾,然后遞歸調用該方法處理所有子文件和子文件夾,然后將空文件 夾刪除。則測試時謹慎使用第二個方法,以免刪除自己有用的數據文件。示例代碼如下:
? ? ?
import java.io.File;/*** 文件綜合使用示例*/ public class AdvanceFileDemo {public static void main(String[] args) {File f = new File("e:\\Book");printAllFile(f);File f1 = new File("e:\\test");deleteAll(f1);}/*** 打印f路徑下所有的文件和文件夾* @param f 文件對象*/public static void printAllFile(File f){//打印當前文件名System.out.println(f.getName());//是否是文件夾if(f.isDirectory()){//獲得該文件夾下所有子文件和子文件夾File[] f1 = f.listFiles();//循環處理每個對象int len = f1.length;for(int i = 0;i < len;i++){//遞歸調用,處理每個文件對象printAllFile(f1[i]);}}}/*** 刪除對象f下的所有文件和文件夾* @param f 文件路徑*/public static void deleteAll(File f){//文件if(f.isFile()){f.delete();}else{ //文件夾//獲得當前文件夾下的所有子文件和子文件夾File f1[] = f.listFiles();//循環處理每個對象int len = f1.length;for(int i = 0;i < len;i++){//遞歸調用,處理每個文件對象deleteAll(f1[i]);}//刪除當前文件夾f.delete();}} }《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
- 上一篇: File类1
- 下一篇: File类3 文件读取