用File類寫的一個簡單的工具,遍歷文件夾,獲取該文件夾下的所以文件(含子目錄下的文件)和文件大小:
/** * 列出指定目錄下(包含其子目錄)的所有文件 * @author syskey * */ import java.io.File; import java.text.DecimalFormat; public class FileList { public static void listDirectory(File dir){ if(!dir.exists()){ throw new IllegalArgumentException("目錄"+dir+"不存在!"); } if(!dir.isDirectory()){ throw new IllegalArgumentException(dir+"不是一個目錄!"); } /** * 采用了遞歸的方法,遍歷了所有目錄 */ File files[] =dir.listFiles(); if(files!=null&&files.length>0){ for (File file : files) { if(file.isDirectory()){ listDirectory(file); }else{ String filesize; DecimalFormat df = new DecimalFormat("0.00"); if(file.length()<1024){ filesize = df.format((double) file.length())+"B"; }else if(file.length()<1024*1024){ filesize = df.format((double) file.length()/1024)+"KB"; }else if(file.length()<1024*1024*1024){ filesize = df.format((double) file.length()/(1024*1024))+"MB"; }else { filesize = df.format((double) file.length()/(1024*1024*1024))+"GB"; } System.out.println(file+" "+filesize); } } } } }