BitmapFactory:对于从zip中提取的内部图像文件,“decode returns false”?

时间:2012-04-19 13:36:28

标签: android image decode bitmapfactory

需要将从zip下载和提取的图像显示到" / files"该应用程序的目录。据我所知,图像正确地进入那里 - 我能够从模拟器中提取它们并从我的桌面查看/打开它们。但是每次尝试,到目前为止我找到并尝试过的每一段代码都失败了(标签:skia /文字:--- decoder-> decode返回false)。

我的最新构造,适用于单独下载和未压缩的图像文件:

String imgFile = new File(getFilesDir(), "myImage.jpg").getAbsolutePath();

        ImageView myImageView = new ImageView(this); 
        Bitmap bm = null;
        try{

            bm = BitmapFactory.decodeFile(imgFile);
            myImageView.setImageBitmap(bm);

        } finally{

            mainLayout.addView(myImageView);
        }

这是我用来处理zip提取的构造。我认为这就是问题所在,但我对于我可能做的不同以及产生什么影响毫无头绪:

ZipInputStream zis = new ZipInputStream(fis);
BufferedInputStream in = new BufferedInputStream(zis, 8192);
ZipEntry ze;

while ((ze = zis.getNextEntry()) != null){
    File dest_file = new File(getFilesDir(), ze.getName());
    FileOutputStream fout = new FileOutputStream(getFilesDir() + "/" + ze.getName());
    BufferedOutputStream out = new BufferedOutputStream(fout, 8192);
    byte b[] = new byte[1024];
    int n;

    while ((n = in.read(b,0,1024)) >= 0) {
        out.write(b,0,n);
    }

    for (int c = zis.read(); c != -1; c = zis.read()) { 
        fout.write(c); 
    }

    zis.closeEntry();
    fout.close();
}
zis.close();
fis.close();

在这里可怕的停顿。感谢任何解决方案/建议。

0 个答案:

没有答案