Java:如何计算一个文件或文件夹的大小?
使用递归实现。
代码:
class FileUtils{ /** * 存放文件大小 */ private static long countSize; /** * 递归遍历所有文件 */ private static void allFiles(String path){ File fl = new File(path); if(fl.exists()){ if(fl.isDirectory()){//递归头 File[] fls = fl.listFiles(); for(File f :fls){ allFiles(f.getPath());//递归体 } }else if(fl.isFile()){ countSize+=fl.length(); } }else{ countSize=-1; } } /** * @param path 文件路径 * @return 文件大小,不存在时返回-1。(单位:字节) */ static long getFileSize(String path){ allFiles(path); long temp = countSize; countSize= 0; return temp; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步