java 键盘输入文件夹路径,获取文件夹大小

文件夹的大小,返回 0

package fortest;

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

public class test {

    public static void main(String[] args) {
        File iFile = getDir();
        System.out.println(getFileSize(iFile));
    }

    /*
     * 返回一个输入的文件夹
     * 1. 获得输入路径
     * 2. 判断是文件夹
     * 3. 是文件夹返回
     * 4. 不是文件夹,重新输入路径
     */
    public static File getDir() {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入文件夹路径:");
        while(true) {
            String line = scanner.nextLine();
            File file = new File(line);
            if(!file.exists()) {
                System.out.println("你输入的文件夹路径不存在");
            }else if(file.isFile()){
                System.out.println("你输入的是一个文件");
            }else {
                return file;
            }
        }
    }
    /*
     * 参数:文件夹
     * 返回值: 文件大小或递归调用
     * 0. 定义文件大小
     * 1. 获得文件集合
     * 2. 遍历文件
     * 3. 是文件统计
     * 4. 不是文件,递归调用、
     * 5. 返回大小
     * 
     * 
     */
    public static long getFileSize(File dir) {
        long file_size = 0;
        File [] list_files = dir.listFiles();
        for (File file : list_files) {
            if(file.isFile()) {
                file_size += file.length();
            }else {
                file_size += getFileSize(file);
            }
        }
        return file_size;
    }
}

猜你喜欢

转载自blog.csdn.net/ai_shuyingzhixia/article/details/80807955