A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

package com.zzt;

import java.io.File;
import java.util.Scanner;

public class Exercise01 {

        /**
         * 从键盘接收一个人文件夹,统计文件夹大小;
         */
        public static void main(String[] args) {

                File file = getFile();
                System.out.println(getFileLength(file));
        }

        public static File getFile(){
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个路径");
               
                while(true){
                        String line = sc.nextLine();
                        File file = new File(line);
                        if (!file.exists()) {
                                System.out.println("您输入的路径不存在,请重新输入");
                        }else if (file.isFile()) {
                                System.out.println("您输入的是文件,请重新输入");
                        }else {
                                return file;
                        }
                }
               
        }
        /*
         * 统计文件大小
         * 返回值烈性long
         * 参数列表File file
         */
                public static long getFileLength(File file){
                        long len = 0;
                        File[] subfiles = file.listFiles();
                        for (File subfile : subfiles) {
                                if (subfile.isFile()) {
                                        len = len + subfile.length();
                                }else {
                                len = len+ getFileLength(subfile);
                        }
                }
                return len;
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马