黑马程序员技术交流社区

标题: 做了一晚上!终于做出来了,感到的哭啊! [打印本页]

作者: 善良的死神达乐    时间: 2016-4-7 00:49
标题: 做了一晚上!终于做出来了,感到的哭啊!
package com.heima.zuoye;

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

public class Zuoye1 {

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

        public static long digui(File dir) {
                //定义一个long的变量
                long len = 0;
                // 获取到该文件夹所有的文件和文件夹,储存在listFiles数组中
                File[] subfFiles = dir.listFiles();
                // 遍历每个数组
                for (File subFile : subfFiles) {
                        if (subFile.isFile())  {
                                len = len + subFile.length();
                                // 如果是文件夹,就用递归调用
                        } else {
                                //将文件的大小进行累加
                                len = len + digui(subFile);
                        }
                }
                return len;
        }


        public static File getDir() {
                // 创建键盘目录对象
                Scanner sc = new Scanner(System.in);
                // 提示
                System.out.println("请输入一个文件夹路径:");
                // 判断此录入的是否是文件夹路径
                while (true) {
                        // 将键盘录入储存在line中
                        String line = sc.nextLine();
                        // 封装成File对象,并对其进行判断
                        File dir = new File(line);
                        if (!dir.exists()) {
                                System.out.println("您录入的不是文件夹路径,请重新录入:");
                        } else if (dir.isFile()) {
                                System.out.println("您录入的是文件路径,请重新录入");
                        } else {
                                System.out.println("输入正确,请稍等...");
                                return dir;
                        }
                }
        }

}



作者: oassuperhan    时间: 2016-4-7 12:41
这个算是基础题了,最好把那个复制文件夹并且更改后缀名的程序敲熟,那个是面试题里面对IO流操作比较综合的一个题,加油
作者: toukya    时间: 2016-4-7 15:48
写的是什么鬼
作者: carrykhu    时间: 2016-4-7 16:49
我很快就看得懂了
作者: 善良的死神达乐    时间: 2016-4-7 21:38
oassuperhan 发表于 2016-4-7 12:41
这个算是基础题了,最好把那个复制文件夹并且更改后缀名的程序敲熟,那个是面试题里面对IO流操作比较综合的 ...

恩恩!一起加油!!!
作者: minge123    时间: 2016-4-8 23:19
666,赞一个

作者: F305176    时间: 2016-4-8 23:19
加油`~~~~~~
作者: 善良的死神达乐    时间: 2016-4-8 23:21
oassuperhan 发表于 2016-4-7 12:41
这个算是基础题了,最好把那个复制文件夹并且更改后缀名的程序敲熟,那个是面试题里面对IO流操作比较综合的 ...

谢谢!我会的.
作者: 水木风清然    时间: 2016-4-8 23:35
加油吧,多敲敲代码就会熟练很多
作者: lilipu1    时间: 2016-4-9 00:13
666,赞一个
作者: _策马逐梦    时间: 2016-4-9 11:45
加油吧,兄弟




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