首页  >  问答  >  正文

java - 怎么避免listFiles()方法读取没有访问权限的文件时返回null?

listFiles
返回了一个File数组,这时候遍历这个数组会出现NullPointerException

    public static void main(String[] args) {
        File file = new File("D:\\");
        int sum = getTxtSum(file);
        System.out.println(sum);
    }
    
    public static int getTxtSum(File f) {
        File[] subFile = f.listFiles();
        int count = 0;
        for (File file : subFile) {
            if (file.isDirectory()) {
                count += getTxtSum(file);
            }else if(file.isFile() && file.getName().endsWith(".txt")) {
                count += 1;
            }
        }
        
        return count;
    }
PHP中文网PHP中文网2711 天前792

全部回复(2)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:06:38

    这个难道不是应该判断一下是否为null吗。

    回复
    0
  • 高洛峰

    高洛峰2017-04-18 10:06:38

    可以通过捕捉异常来实现

    回复
    0
  • 取消回复