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!

Peut-être que votre problème est que getCacheDir renvoie Fichier, pas String?

OriginalL'auteur Richard | 2011-02-08