IOException - Невозможно загрузить файл

У меня есть приложение, которое показывает GIF-изображения. Все работает нормально, если изображение сохраняется в drawable, и я обращаюсь к нему вот так

is=context.getResources().openRawResource(R.drawable.mygif);
movie = Movie.decodeStream(is);

Но мне нужно чтобы загрузить изображение из интернета, поэтому я сохраняю его в CacheDir, это работает нормально.Я пробовал следующее, чтобы прочитать его.

    try
    {
        is = new BufferedInputStream(new FileInputStream(new File(context.getCacheDir(), "mygif.gif")));
    }
    catch (FileNotFoundException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    movie = Movie.decodeStream(is);

И это

movie = Movie.decodeFile(new File(context.getCacheDir(), "mygif.gif").getPath());

Но не важно, оно заканчивается на

java.io.IOException
at java.io.InputStream.reset(InputStream.java:218)
at android.graphics.Movie.decodeStream(Native Method)
at android.graphics.Movie.decodeTempStream(Movie.java:74)
at android.graphics.Movie.decodeFile(Movie.java:59)

или

java.io.IOException: Mark has been invalidated.
at java.io.BufferedInputStream.reset(BufferedInputStream.java:350)
at android.graphics.Movie.decodeStream(Native Method)

Я думаю, что это очень простая ошибка, но я не могу от нее избавиться.В манифесте есть:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
6
задан Bojan Kogoj 20 April 2012 в 03:58
поделиться