La lecture d'un fichier de cache précédemment écrit par la même application
Je suis en train d'écrire dans un fichier en utilisant le code ci-dessous:
File file = new File(getCacheDir(), "cachefile");
FileOutputStream fos = new FileOutputStream(file);
StringBuilder cachetext = new StringBuilder();
Iterator bri = brands.iterator();
Iterator bli = brand_id.iterator();
while(bli.hasNext()) {
cachetext.append(bli.next() + "|" + bri.next() + System.getProperty("line.separator"));
}
fos.write(cachetext.toString().getBytes());
fos.close();
Cela fonctionne très bien - pas d'erreur et le fichier se termine contenant ce que j'attends qu'il contient. Quand je vais le lire via openFileInput(), cependant, j'obtiens une exception à me dire que des séparateurs de chemin ne sont pas autorisés
FileInputStream fis = openFileInput(getCacheDir() + "/cachefile");
Assez juste, qui contient une barre oblique, mais comment puis-je spécifier le chemin d'accès du fichier que je veux ouvrir? Il doit y avoir un moyen de le faire, bien sûr, mais je ne peux pas trouver des réponses par l'intermédiaire de Google ("lire", "cache" et "fichier" n'étant pas le plus niche en des termes ...), donc je pensais que je voudrais essayer le contact humain. Merci à l'avance!
OriginalL'auteur Richard | 2011-02-08
Vous devez vous connecter pour publier un commentaire.
vous faire un peu de la même façon dont vous avez créé le fichier de sortie:
new FileInputStream
au lieu deopenFileInput
.openFileInput
vous permettent d'accéder à l'application local les fichiers dans /data/data/com.myapp/fichiers/ et cache se trouve dans /data/data/com.myapp/cache/OriginalL'auteur James Dunham