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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package day20Demo;

//获取指定目录下所有文件的数量(未完成!)
import java.io.File;

public class GetNumber {
        public static void main(String[] args) {
                File file = new File("Text");
                GetNumber(file);
                System.out.println();
        }

        private static void GetNumber(File file) {
                File[] arr = file.listFiles();
                int count = 0;
                if (file.exists()) {
                        if (arr != null) {
                                for (File f : arr) {
                                        if (f.isFile()) {
                                                count++;
                                        } else if (f.isDirectory()) {
                                                GetNumber(f);

                                        }
                                }
                        }

                }
                System.err.println(count);

        }
}
我的代码是这样的  我也知道有很大问题  谁能帮我改下?

3 个回复

倒序浏览
求大神指点一二 小弟感激不尽~!
回复 使用道具 举报
强力围观,坐等大神解答
回复 使用道具 举报
package com.itcast.window;

import java.io.File;

public class GetNumber {
       public static void main(String[] args) {
               File file = new File("F:\\java");
               int count =  GetNumber(file);
               System.out.println("文件夹中包含的个数为"+count);
       }

       private static int GetNumber(File file) {
                               //获取这个文件夹的列表
               File[] arr = file.listFiles();
               //定义一个存放个数的变量
               int count = 0;
               //判断这个路径存在
               if (file.exists()) {
                       System.out.println("路径存在");
                       if (arr != null) {
                              
                               for (File f : arr) {
                                       if (f.isFile()) {
                                               System.out.println(f.getName());
                                               count++;//这里只计算了本级目录下包含的文件个数
                                       } else if (f.isDirectory()) {
                                               //计算不正确是因为这里出了问题,你要每次把下一级目录中包含的文件数计算进去
                                               count = count + GetNumber(f);
                                       }
                               }
                       }

               }
               return count;
       }
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马