标签:自身 调用 col space [] import auth 个数 ack
package com.zzp.demo; import java.io.File; /** * * 递归:方法自己调用自己 *递归头:何时结束递归 *递归体:重复调用 * @author java * */ public class DirDemo03 { public static void main(String[] args) { test(1); } public static void test(int i){ if(i > 10){ return; } System.out.println(i); test(i+1); } }
打印子孙级目录和文件的名称
package com.zzp.demo; import java.io.File; /** * * 打印子孙级目录和文件的名称 * @author java * */ public class DirDemo04 { public static void main(String[] args) { File src = new File("F:/workspace1/IO/src"); testName(src,0); } public static void testName(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()){ testName(s,deep+1); } } } }
统计文件夹的大小
package com.zzp.demo; import java.io.File; /** * * 统计文件夹的大小 * @author java * */ public class DirDemo05 { public static void main(String[] args) { File src = new File("F:/workspace1/IO"); testLength(src); System.out.println(len); } private static long len = 0; public static void testLength(File src){ if(null != src || src.exists()){ if(src.isFile()){ len += src.length(); }else if(src.isDirectory()){ for(File s : src.listFiles()){ testLength(s); } } } } }
使用面向对象统计文件夹的大小
package com.zzp.demo; import java.io.File; /** * * 使用面向对象统计文件夹的大小 * @author java * */ public class DirCount { //大小 private int len; //文件夹的路径 private String path; //源 private File src; //文件的个数 包含自身从0开始,不包含自身从—1开始 private int fileSize; //文件夹的个数 包含自身从0开始,不包含自身从—1开始 private int dirSize; public DirCount(String path){ this.path = path; this.src = new File(path); count(this.src); } public void count(File src){ if(null != src || src.exists()){ if(src.isFile()){ len += src.length(); this.fileSize++; }else{ this.dirSize++; for(File s : src.listFiles()){ count(s); } } } } public int getLen() { return len; } public String getPath() { return path; } public File getSrc() { return src; } public int getFileSize() { return fileSize; } public int getDirSize() { return dirSize; } public static void main(String[] args) { DirCount dir = new DirCount("F:/workspace1/IO"); System.out.println(dir.getLen()); System.out.println(dir.getDirSize()); System.out.println(dir.getFileSize()); } }
标签:自身 调用 col space [] import auth 个数 ack
原文地址:https://www.cnblogs.com/zhangzhipeng001/p/9537822.html