带有Jpg的Android java.io.FileNotFoundException

时间:2015-06-24 17:24:35

标签: java android exception

我必须在ImageView上绘制位于asstes / images上的图像。 首先,我将所有文件保存在String数组的assets / images文件夹中。

try {
        String [] immages = assetManager.list("images");
    } catch (IOException e1) {
        e1.printStackTrace();
    }

使用Log.d我可以看到所有图像都被正确扫描。 然后我有这个方法返回一个将在ImageView上设置的Bitmap

private Bitmap readImg()
{
    InputStream inputStreamImages = null;
    Resources res = getResources();
    Bitmap bmp= null;
    try {

        inputStreamImages = assetManager.open(images[Integer.parseInt(number) - 1]);
        bmp = BitmapFactory.decodeStream(inputStreamImages);
        } catch(IOException e1) {e1.printStackTrace();}
    return bmp;
}

但是我做了另一种方法,因为那个方法没有用。

private Drawable readImg2()
{
    Drawable d= null;
    try {
        InputStream inputStreamImages = getAssets().open(images[Integer.parseInt(number) - 1]);
        d = Drawable.createFromStream(inputStreamImages, null);
        }catch(IOException e1) {e1.printStackTrace();}
    return d;
}

非常相似,但都抛出相同的错误:

  

java.io.FileNotFoundException:v2.jpg

任何人都可以帮助我吗?谢谢; D

1 个答案:

答案 0 :(得分:1)

images数组仅包含具有扩展名的图像名称而不是包含文件可用目录的图像名称,因此在传递给images方法时添加assetManager.open作为前缀:

    InputStream inputStreamImages = 
                assetManager.open("images/"+images[Integer.parseInt(number) - 1]);