轉:
統計指定目錄中文件的個數和總的大小
package file; import java.io.File; import java.util.ArrayList; public class FileCounter { //用於儲存找到的每一個文件 ArrayList<File> fileList; //根目錄 File root; public FileCounter(String pathName) { root = new File(pathName); fileList = new ArrayList<>(); } //遞歸算法查找文件 public void searchFiles() { File[] files = root.listFiles(); int length = files.length; for (int i = 0; i < length; i++) { if (files[i].isDirectory()) { root = files[i]; searchFiles(); } else { fileList.add(files[i]); } } } //統計文件個數和總的大小 public void countFiles() { long totalSize = 0; System.out.println("文件數:" + fileList.size()); for (int i = 0; i < fileList.size(); i++) { totalSize += fileList.get(i).length();//返回由此文件的長度,字節為單位 } System.out.println("文件總大小:" + totalSize); } //測試 public static void main(String[] args) { String pathName = "E:\\音樂"; FileCounter counter = new FileCounter(pathName); counter.searchFiles(); counter.countFiles(); } }