黑马程序员技术交流社区

标题: 从键盘接收一个文件夹路径,统计该文件夹大小 [打印本页]

作者: zhaokai123456    时间: 2016-5-3 22:48
标题: 从键盘接收一个文件夹路径,统计该文件夹大小
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对象
   File dir = new File(line);
   //判断文件夹并返回
   if (!dir.exists()) {
    System.out.println("该文件夹路径不存在,请重新录入");
   
   }else if(dir.isFile()){
    System.out.println("输入的是一个文件路径,请输入一个文件夹路径");
   
   
   }else {
    return dir;
   
   }
   
   
  }
  
}
public static long getFileLength(File dir) {
  //定义一个求和变量
  long len = 0;
  //获取文件中所有的文件或文件夹
  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;
}



作者: wsl123456    时间: 2016-6-13 08:14
学习学习
作者: Fangjie    时间: 2016-6-13 08:35
学习,学习!




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