zoukankan      html  css  js  c++  java
  • java:递归打印子孙级目录和文件名称 以及统计文件大小

    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);
                    }
                }
            }
        }
    }
     
  • 相关阅读:
    IntentService源码分析
    startService过程源码分析
    洛谷P3300 城市规划
    agc033
    洛谷P3306 随机数生成器
    洛谷P3299 保护出题人
    洛谷P3298 泉
    洛谷P3296 刺客信条
    树hash
    我们都爱膜您退火!
  • 原文地址:https://www.cnblogs.com/GOOGnine/p/12904828.html
Copyright © 2011-2022 走看看