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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Mr.艾林

中级黑马

  • 黑马币:65

  • 帖子:23

  • 精华:0

package com.itheima.homework;

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

//2.从键盘接收一个文件夹路径,统计该文件夹大小
public class Test02_my {

        public static void main(String[] args) {
                //从键盘接收一个文件夹路径,统计该文件夹大小
                File dir = getDir();
                System.out.println(getFileLength(dir));

        }
        //从键盘录入一个文件夹,判断该文件夹
        public static File getDir(){
                //创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请录入一个文件路径");
                //定义一个无限循环
                while(true){
                        String line = sc.nextLine();
                        File dir = new File(line);
                        //判断文件夹并返回
                        if(!dir.exists()){
                                System.out.println("该文件路径不存在");
                        }else if(dir.isFile()){
                                System.out.println("输入的是一个文件路径,请输入文件夹路径");
                        }
                        else{
                                return dir;
                        }
                       
                }
               
        }
        //定义一个求和变量
        static long len = 0;
        public static long getFileLength(File dir){
                //获取文件夹中的文件或者文件夹
                File[] subFiles = dir.listFiles();
                //遍历
                for(File subFile : subFiles){
                        if(subFile.isFile()){
                                len=len+subFile.length();
                        }else  if(subFile.isDirectory()){
                                len = len+getFileLength(subFile);
                        }
                }
                return len;
        }

}

0 个回复

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