Bonjour à tous!

J'ai une exception qui est déclenchée pendant un téléchargement d'un fichier mp4 depuis la 3G.
Voici l'exception :
07-27 16:03:34.776: ERROR/FOO(12705): java.io.IOException: unexpected end of stream
07-27 16:03:34.776: ERROR/FOO(12705): at org.apache.harmony.luni.internal.net.www.protocol.http.FixedLengthInputStream.read(FixedLengthInputStream.>java:47)
07-27 16:03:34.776: ERROR/FOO(12705): at java.io.BufferedInputStream.read(BufferedInputStream.java:319)
07-27 16:03:34.776: ERROR/FOO(12705): at fr.FOO.FOO.core.FileManager.download(FileManager.java:157)
07-27 16:03:34.776: ERROR/FOO(12705): at fr.FOO.FOO.smartContent.SmartGalleryAdapter$3.run(SmartGalleryAdapter.java:198)
07-27 16:03:34.776: ERROR/FOO(12705): at java.lang.Thread.run(Thread.java:1027)
Voici le bout de code déclenchant l'exception:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
public synchronized static File download(String url) throws IOException{
    URL u = new URL(url);
    synchronized(u){
            URLConnection uc = u.openConnection();
            uc.setConnectTimeout(3600000);
            uc.setUseCaches(true);
 
            int taille = uc.getContentLength();
            InputStream brut = uc.getInputStream();
            InputStream entree = new BufferedInputStream(brut);
 
            byte[] donnees = new byte[taille];
            int octetsLus = 0;
            int deplacement = 0; float alreadyRead = 0;
 
            while(deplacement < taille){
                    // The exception is here
                    octetsLus = entree.read(donnees, deplacement, donnees.length-deplacement);
 
                    alreadyRead = alreadyRead + octetsLus;
                    if(octetsLus == -1) break;
                    deplacement += octetsLus;
            }
            entree.close();
            String fichier = slugFilename(url);
 
            File f = new File(BTCore.getInstance().context.getExternalCacheDir(), fichier);
            f.createNewFile();
            FileOutputStream fichierSortie = new FileOutputStream(f);
            fichierSortie.write(donnees);
            fichierSortie.flush(); fichierSortie.close();
            return f;
    }
}
Cette exception est générée aléatoirement pendant le téléchargement. Je ne vois pas du tout d'où cela peut provenir....

Est-ce que ça vient de mon code ou du serveur ?

Merci beaucoup pour les pistes que vous pouvez me donner...