Android缓存文件夹创建为文件

时间:2015-09-04 05:40:50

标签: android caching

我正在使用Disk Cache文件夹存储图像文件。它工作得很好,但是在任何人从他/她的设备执行清洁数据后,缓存文件夹就变成了一个文件。

以下是创建缓存目录的代码

File myDiskCacheDir=getDiskCacheDir(this,IMAGE_CACHE_DIR);

diskCache=new MyDiskCache(this,myDiskCacheDir);


public static File getDiskCacheDir(Context context, String uniqueName) {
            if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) ||(!isExternalStorageRemovable()))
        {
            cachePath=getExternalCacheDir(context).getPath();

        }
        else {
            cachePath=context.getCacheDir().getPath();
        }

        new File(cachePath).mkdirs();

        return new File(cachePath + File.separator + uniqueName);
}


public static File getExternalCacheDir(Context context) {
    if (Utils.hasFroyo()) {
        return context.getExternalCacheDir();
    }

    // Before Froyo we need to construct the external cache dir ourselves
    final String cacheDir = "/Android/data/" + context.getPackageName() + "/cache/";
    File cacheDirFile=new File(Environment.getExternalStorageDirectory().getPath() + cacheDir);
    cacheDirFile.mkdirs();
    return cacheDirFile;
}

我仅在Android 4.2及更低版本中遇到此问题。

1 个答案:

答案 0 :(得分:0)

使用

new File(cachePath + "/").mkdirs();