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

  1. /** 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小 */
  2.         public static void main(String[] args) {
  3.                 System.out.println(size(getFile()));

  4.         }

  5.         public static File getFile() {
  6.                 Scanner sc = new Scanner(System.in);
  7.                 System.out.println("请输入一个文件夹路径:");
  8.                 while (true) {
  9.                         File dir = new File(sc.nextLine());
  10.                         if (!dir.exists()) {
  11.                                 System.out.println("输入的地址有误或者文件夹不存在!请重新输入:");
  12.                         } else if (dir.isFile()) {
  13.                                 System.out.println("输入的地址是文件路径!请重新输入一个文件夹路径:");
  14.                         } else {
  15.                                 return dir;
  16.                         }
  17.                 }
  18.         }

  19.         public static long size(File dir) {
  20.                 long size = 0;
  21.                 for (File f : dir.listFiles()) {
  22.                         if (f.isDirectory()) {
  23.                                 size += size(f);
  24.                         } else {
  25.                                 size += f.length();
  26.                         }
  27.                 }
  28.                 return size;
  29.         }
复制代码
您需要登录后才可以回帖 登录 | 加入黑马