Les fichiers sont stockés sur le périphérique dans un emplacement spécifique, dépendant de l'application, ce que je suppose que openFileInput
ajoute au début du nom de fichier. Le résultat final (emplacement + nom de fichier) est construit comme suit:
/data/data/<application-package>/files/<file-name>
Notez également que la documentation indique que le paramètre openFileInput
cannot contain path separators. Pour éviter de coder en dur le chemin de localisation, qui peut en principe être différent d'un périphérique à l'autre, vous pouvez obtenir un objet File
pointant vers le répertoire de stockage en appelant getFilesDir
, et l'utiliser pour lire le fichier que vous voulez à. Par exemple:
File filesDir = getFilesDir();
Scanner input = new Scanner(new File(filesDir, filename));
Notez que la construction d'un Scanner
en passant un String
comme paramètre entraînerait le scanner de travail sur le contenu de la chaîne, à savoir l'interpréter comme le contenu réel de scanner au lieu comme le nom de un fichier à ouvrir.
merci !! J'ai utilisé le mauvais constructeur au début: P .. alors j'ai essayé d'utiliser Scanner sc = new Scanner (nouveau fichier (nom de fichier)); mais cela n'a pas fonctionné ... File filesDir = getFilesDir(); Entrée scanner = nouveau Scanner (nouveau fichier (fichierRep, nom de fichier)); cela fonctionne très bien: D – zSt