android Too many open files 解決

遍歷某一文件夾,當文件數過多時,或出現Too many open files異常,有問題的代碼

 /**
     * 獲取指定文件大小
     *
     * @param file
     * @return
     * @throws Exception
     */
    private  long getFileSize(File file) throws Exception {
        long size = 0;
        if (file.exists()) {
            FileInputStream fis = null;
            fis = new FileInputStream(file);
            size = fis.available();
        } else {
            file.createNewFile();
        }
        return size;
    }

沒問題的代碼

    /**
     * 獲取指定文件大小
     *
     * @param file
     * @return
     * @throws Exception
     */
    private  long getFileSize(File file) throws Exception {
        long size = 0;
        if (file.exists()) {
            FileInputStream fis = null;
            fis = new FileInputStream(file);
            size = fis.available();
            fis.close();
        } else {
            file.createNewFile();
        }
        return size;
    }

沒錯就是這句fis.close();操作完文件記得及時關閉文件流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章