首页 > 解决方案 > 错误:原因:java.lang.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;
}

标签: javaandroidnullpointerexception

解决方案


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

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

其中一个具有空值。


推荐阅读