错误:由以下原因引起:java.lang.NullPointerException

时间:2018-09-09 14:14:46

标签: java android nullpointerexception

我正在尝试显示应用程序使用的以MB为单位的缓存大小文件。但是我的应用程序崩溃了。错误:由以下原因引起:java.lang.NullPointerException

private void initializeCache() {
    long size = 0;
    size += getDirSize(this.getCacheDir());
    size += getDirSize(this.getExternalCacheDir());
    this.text_view_cache_value.setText(getResources().getString(R.string.label_cache)  + readableFileSize(size));

}

public long getDirSize(File dir){
    long size = 0;
    for (File file : dir.listFiles()) {
        if (file != null && file.isDirectory()) {
            size += getDirSize(file);
        } else if (file != null && file.isFile()) {
            size += file.length();
        }
    }
    return size;
}

1 个答案:

答案 0 :(得分:1)

设置调试点或执行 System.out.println(..)检查以下内容:

this.getCacheDir()
his.getExternalCacheDir()
this.text_view_cache_value
R.string.label_cache

其中一个具有空值。