文件存在于资产中,但抛出 FileNotFoundException
File exist in assets but is throwing an 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。
是否有更好的方式来存储或访问照片?
我可以通过将格式从 PNG 更改为 JPG 来解决我的问题
我正在尝试访问保存在资产文件夹中的照片,但我的代码始终无法正常工作。
我在资产中有 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。
是否有更好的方式来存储或访问照片?
我可以通过将格式从 PNG 更改为 JPG 来解决我的问题