java:File類遞迴練習(統計該資料夾大小)
阿新 • • 發佈:2018-11-22
package com.heima.test; import java.io.File; import java.util.Scanner; public class Test1 { public static void main(String[] args) { File dir=getDir(); System.out.println(getFileLength(dir)); } public static File getDir() { //鍵盤輸入 Scanner sc=new Scanner(System.in); System.out.println("請輸出一個資料夾路徑"); while(true) { //將鍵盤輸入的路徑儲存並封裝成一個File物件 String line=sc.nextLine(); File dir=new File(line); if(!dir.exists()) { System.out.println("您輸入的資料夾路徑不存在,請輸入一個資料夾路徑"); }else if(dir.isFile()) { System.out.println("您輸入的是個檔案路徑,請輸入一個資料夾路徑"); }else { //如果是目錄將資料夾物件返回 return dir; } } } // 統計該資料夾的大小 public static long getFileLength(File dir) { long len=0; File[] subFiles=dir.listFiles(); for (File Files : subFiles) { if(Files.isFile()) { len=len+Files.length(); }else { len=len+getFileLength(Files); } } return len; } }