Charger les fichiers de plus de 1M à partir d'éléments de dossier

Je suis fou, j'ai créé un fichier objet, de sorte qu'il peut être lu avec un ObjectInputStream, et j'ai placé le dossier assets.
La méthode fonctionne avec un fichier plus petit que 1M, et de donner d'erreur avec les fichiers de grande taille.
J'ai lu que c'est une limite de la plate-forme Android, mais je sais aussi que peut être "facilement" à éviter.
Ceux qui ont téléchargé le jeu Reging Tonnerre, par exemple, peut facilement voir que dans leurs actifs dossier est un fichier de 18,9 M de large.
C'est mon code pour lire 1 objet à partir d'une ObjecInputStream

File f = File.createTempFile("mytempfile", "dat");
FileOutputStream fos = new FileOutputStream(f);

InputStream is = mc.getAssets().open(path,3);

ObjectInputStream ois=new ObjectInputStream(is);
byte[] data = (byte[]) ois.readObject();
fos.write(data);

fos.flush();
fos.close();
ois.close();
is.close();

maintenant, j'ai un fichier non compressé et je peux l'utiliser sans se soucier de l'erreur "Ce fichier ne peut être ouvert comme un descripteur de fichier; il est sans doute comprimé"

Cette fonction fonctionne bien avec des fichiers de taille inférieure à 1 M, avec des fichiers plus gros retour d'un
java.io.IOException sur la ligne "ObjectInputStream ois=new ObjectInputStream(est);"

pourquoi??

InformationsquelleAutor Syco | 2010-05-18