首頁  >  問答  >  主體

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中文网2765 天前830

全部回覆(2)我來回復

  • 伊谢尔伦

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

    這個不是應該判斷一下是否為null嗎。

    回覆
    0
  • 高洛峰

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

    可以透過捕捉異常來實現

    回覆
    0
  • 取消回覆