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