如何测试缓存文件? [英] How to test for a file in cache?

查看:143
本文介绍了如何测试缓存文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图来测试这个缓存在我的AsyncTask。我将如何去这样做呢?

 公共无效putBitmapInDiskCache(URI imageUri,位图头像){
    文件cacheDir =新的文件(this.getCacheDir(),缩略图);
    cacheDir.mkdirs();
    文件求CacheFile =新的文件(cacheDir,+ imageUri.hash code());
    尝试{
            cacheFile.createNewFile();
            FOS的FileOutputStream =新的FileOutputStream(求CacheFile);
            avatar.com preSS(比较pressFormat.PNG,100,FOS);
            fos.flush();
            fos.close();
          }赶上(例外五){
            Log.e(保存图像缓存时的错误。错误,E);
}


解决方案

根据你所拥有的。如果之前您来电createNewFile()你要检查它是否存在,你可以做任何需要在那里进行

 如果(cacheFile.exists()){...}其他{cacheFile.createNewFile()}

I am trying to test for this cache in my asyncTask. How would i go about doing this?

public void putBitmapInDiskCache(URI imageUri, Bitmap avatar) {   
    File cacheDir = new File(this.getCacheDir(), "thumbnails");
    cacheDir.mkdirs();
    File cacheFile = new File(cacheDir, ""+imageUri.hashCode());   
    try {      
            cacheFile.createNewFile();       
            FileOutputStream fos = new FileOutputStream(cacheFile);    
            avatar.compress(CompressFormat.PNG, 100, fos);       
            fos.flush();       
            fos.close();    
          } catch (Exception e) {       
            Log.e("error", "Error when saving image to cache. ", e);    
}

解决方案

Based on what you have. If prior to your call to createNewFile() you were to check if it exists, you can do whatever needs to be done there

 if (cacheFile.exists()) { ... } else { cacheFile.createNewFile() }

这篇关于如何测试缓存文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆