IOException - Datei kann nicht geladen werden

Ich habe eine App, die GIF-Bilder zeigt.Alles funktioniert einwandfrei, wenn das Bild in Zeichenform gespeichert istund ich greife darauf so zu

<code>is=context.getResources().openRawResource(R.drawable.mygif);
movie = Movie.decodeStream(is);
</code>

Aber ich muss ein Bild aus dem Internet herunterladen, also speichere ich es in CacheDir, das funktioniert einwandfrei. Ich habe Folgendes versucht, um es zu lesen.

<code>    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);
</code>

Und das

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

Aber egal mit was, es endet

<code>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)
</code>

oder

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

Ich denke, es ist ein sehr einfacher Fehler, aber ich komme nicht darüber hinweg. Manifest hat:

<code><uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</code>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage