InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
J'ai un fichier dans le dossier des actifs dans un sous-dossier comme ci-dessus. Cependant, il n'obtient pas le fichier, existe-t-il un moyen spécial de spécifier un sous-dossier dans le dossier des actifs?
Ian
Edit: se trompait sur les sous-dossiers.
Ce code fonctionne très bien sur 1.5 (pour un fichier sample.txt
placé sous le dossier sub
dans assets
):
InputStream is = getAssets().open("sub/sample.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
Log.e("wtf", line);
}
br.close();
Êtes-vous sûr que vous avez les bons noms?
"MyFolder/" + "MyFile.db3"
Le nom de fichier des fichiers ajoutés au dossier des ressources doit être en minuscule. par conséquent, un nom de fichier tel que MyFolder et Myfile.db3 n'est pas valide. Renommez-les en "mon dossier" et "monfichier.db3", alors tout ira bien.
Votre fichier de ressources est-il supérieur à 1 Mo?
Je remarque que j'obtiens la même exception IOException vide et vide si j'essaie d'ouvrir un élément qui dépasse cette taille. Le fait qu'il se trouve dans un sous-dossier peut être un hareng rouge. J'essaie d'ouvrir un grand fichier texte afin de pouvoir contourner cette limite en la fractionnant. Pouvez-vous faire quelque chose de similaire avec votre fichier .db3?