文件存在于资产中但是抛出了FileNotFoundException

时间:2016-06-12 02:26:36

标签: assets filenotfoundexception

我正在尝试访问保存在资源文件夹中的照片,但我的代码始终无法正常工作。

我在资源中有16个子文件夹,其中 png 格式的照片每个都在 30kb~60kb 之间

每个文件夹都有100到400张照片

资产文件夹的完整大小为113mb。

当我向资源添加更多照片时,我的代码停止工作

 public Bitmap getImg(String ID, String pic){
    InputStream istr = null;
    try {
        //Exemple: II/1.png 
        istr =  getAssets().open(ID + "/" + pic +".png");
    } catch (IOException e) {
        e.printStackTrace();
    }
    return BitmapFactory.decodeStream(istr);
}

当我运行此代码时,我得到一个FileNotFoundException,但文件存在(我认为文件名区分大小写,扩展名为小写,图片名称为数字)。

我认为这与文件大小有关,因为我压缩了其中一个子文件夹中的所有照片并且它再次开始工作,但是在其他文件夹上(有很多照片)不是,即使在压缩之后我仍然会收到FileNotFoundException。

有更好的方法来存储或访问照片吗?

1 个答案:

答案 0 :(得分:0)

我能够通过将格式从PNG更改为JPG

来解决我的问题