1、递归打印子孙级目录和文件名称
package com.sxt.io; import java.io.File; /** * 递归: 方法自己调用自己 * 打印子孙级目录和文件的名称 * */ public class DirDemo04 { public static void main(String[] args) { File src = new File("D:\java300\IO_study01"); printName(src,0); } //打印子孙级目录和文件的名称 public static void printName(File src,int deep) { //控制前面层次 for(int i=0;i<deep;i++) { System.out.print("-"); } //打印名称 System.out.println(src.getName()); if(null ==src || !src.exists()) { //递归头 return ; }else if(src.isDirectory()) { //目录 for(File s:src.listFiles()) { printName(s,deep+1); //递归体 } } } }
2、统计文件大小
package com.sxt.io; import java.io.File; /** * 统计文件夹的大小 * */ public class DirDemo05 { public static void main(String[] args) { File src = new File("D:\java300\IO_study01"); count(src); System.out.println(len); } private static long len =0; public static void count(File src) { //获取大小 if(null!=src && src.exists()) { if(src.isFile()) { //大小 len+=src.length(); }else { //子孙级 for(File s:src.listFiles()) { count(s); } } } } }