1. 程式人生 > >遞歸查看文件目錄下所有文件

遞歸查看文件目錄下所有文件

存在 param 所有 文件 direct logs rgs lena 大小

 1 import java.io.File;
 2 
 3 public class 文件 {
 4 
 5     /**
 6      * 作用 主方法,程序的入口
 7      * 
 8      * @param args
 9      */
10     public static void main(String[] args) {
11         // TODO Auto-generated method stub
12         getFileAll("E:/",0);
13     }
14 
15     /**
16      * 作用: 獲取文件或目錄名稱
17
* 18 * @param fileName 19 * 文件路徑 20 * @return 文件名 21 */ 22 public static String getFileName(String fileName) { 23 File file = new File(fileName); // 創建文件對象 24 return file.getName(); // 文件名 25 } 26 27 /** 28 * 作用:獲取文件權限 29 * 30 *
@param fileName 31 * 文件路徑 32 * @return 文件權限 33 */ 34 private static String getFileCan(String fileName) { 35 File file = new File(fileName); // 創建文件對象 36 return (file.canRead() ? "r" : "-") // 文件可讀權限判斷 37 + (file.canWrite() ? "w" : "-") // 文件可寫權限判斷
38 + (file.canExecute() ? "x" : "-"); // 文件可執行權限判斷 39 } 40 41 /** 42 * 作用: 獲取文件大小 43 * 44 * @param fileName 45 * 文件路徑 46 * @return 返回文件大小 47 */ 48 private static float getFileSzie(String fileName) { 49 File file = new File(fileName); // 創建文件對象 50 return file.length() / 1024F;// 返回文件大小 51 } 52 53 /** 54 * @param fileName 文件路徑 55 * @param num 文件深度 56 */ 57 private static void getFileAll(String fileName,int num) { 58 File file = new File(fileName); // 創建文件對象 59 60 //驗證路徑是否存在 61 if (file.exists()) {//存在 62 for (File File : file.listFiles()) {// 循環獲取目錄下文件 63 int newNum=num;//使同級文件深度相同 64 for (int i = 0; i <=newNum; i++) { 65 System.out.print(" ");//打印深度空格 66 } 67 // 判斷是否為目錄 68 String filePath=File.getAbsolutePath(); 69 70 if (File.isDirectory()) { 71 System.out.println("目錄名:"+File.getName()+" 權限:"+getFileCan(filePath)); 72 newNum++;//遞歸次數+1 73 getFileAll(filePath,newNum);//getAbsolutePath() 獲取文件路徑 74 75 }else { 76 System.out.println("文件名:"+getFileName(filePath)+" 權限:"+getFileCan(filePath)+" 大小:"+getFileSzie(filePath)+"kb"); 77 } 78 } 79 } else { 80 System.out.println("找不到此目錄!"); 81 } 82 83 } 84 }

遞歸查看文件目錄下所有文件