黑马程序员技术交流社区

标题: java基础学习期间的一些问题 [打印本页]

作者: 哥德曼的    时间: 2015-11-25 22:44
标题: java基础学习期间的一些问题
    通过键盘录入一个文件夹路径,并判断他的大小,关于这个还有没有其他的写法啊?
    马上就要点招了,感觉自己学的挺渣的,怎么办啊.........突然有种肯定过不了点招的感觉,噶虐这两天挺累的


package com.LianXi;

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

public class Demo_DiGui {

    /**
     * @param args
     */
    public static void main(String[] args) {
        File dir=demo();
        System.out.println(getFileLength(dir));

    }
    /*
     * 从键盘获得一个文件夹路径,并统计他的大小
     *
     *
     * 从键盘获取文件夹路径
     * */

    private static File demo() {
        //创建键盘录入对象
        Scanner sc=new Scanner(System.in);
        //设定一个死循环
        while(true){
            //温馨提示:
            System.out.println("请输入文件夹路径");
            //创建File对象存储键盘录入的文件夹路径
            File f=new File(sc.nextLine());
            if(!f.exists()){            //!f.exists是判断f这个File对象存储的路径存在吗?
                System.out.println("您输入的文件夹路径不存在,请重新输入");//如果不存在就读取这句话
            }else if(f.isFile()){            //f.isFile是判断f中存储的是文件路径,
                System.out.println("您输入的是文件路径,请重新输入文件夹路径");//如果是就读取这句话
            }else{
               
                return f;//然后上面的两个条件都不成立了,这个路径的确是文件夹路径,的确存在,然后就将f返回
            }
        }
    }
    /*统计该文件夹文件的大小
     * */
    public static long getFileLength(File f){
        //写一个long类型的变量
        long len=0;
        //创建一个File数组,将传进来的文件夹的每一个文件的路径都作为一个元素存储进去
        File [] subFile=f.listFiles();
        //高级for循环遍历将这个文件夹中的每一个文件的路径都遍历一下
        for (File sF : subFile) {
            //如果这个路径是文件的话
            if(sF.isFile()){
                len=len+sF.length();//将这个文件的字节长度加起来
                //判断是否是文件夹,通过递归调用
            }else{    //如果是文件夹,那么就通过递归调用将他的每一个子文件的大小取出来和len相加
                len=len+getFileLength(sF);
            }
        }
        return len;//返回len
        
    }

}



作者: 哥德曼的    时间: 2015-11-25 22:46
有人没有,写的不好,求给点分
作者: 一个人走天下    时间: 2015-11-25 22:54
顶一个,兄弟,一看你就是上可不听讲
好好学习吧,白富美等着你呢...
作者: 哥德曼的    时间: 2015-11-26 00:02
一个人走天下 发表于 2015-11-25 22:54
顶一个,兄弟,一看你就是上可不听讲
好好学习吧,白富美等着你呢...

谢啦,哥们!
作者: z940505    时间: 2015-11-26 20:33
顶一个,不容易啊
作者: 朱万方    时间: 2015-11-26 20:34
终于找到这个题目了,谢谢了
作者: Camwly    时间: 2015-11-27 09:33
有前途啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2