Écrire une chaîne de caractères dans un fichier
Je veux écrire quelque chose dans un fichier. J'ai trouvé ce code:
private void writeToFile(String data) {
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("config.txt", Context.MODE_PRIVATE));
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}
Le code semble très logique, mais je ne trouve pas l'config.txt fichier dans mon téléphone.
Comment puis-je récupérer ce fichier qui inclut la chaîne?
- Avez-vous vraiment besoin d'écrire quelque chose dans un fichier txt? Si ne pas envisager d'utiliser SharedPreferences. developer.android.com/guide/topics/data/data-storage.html#pref
Vous devez vous connecter pour publier un commentaire.
De ne pas avoir spécifié un chemin, votre fichier sera enregistré dans votre application espace (
/data/data/your.app.name/
).Par conséquent, il vaut mieux enregistrer votre fichier sur un stockage externe (qui n'est pas forcément la carte SD, il peut être le stockage par défaut).
Vous pourriez voulez creuser le sujet, par la lecture de la officiel docs
Dans la synthèse:
Ajouter cette autorisation à votre Manifeste:
Il comprend l'autorisation de LECTURE, donc pas besoin de le préciser aussi.
Enregistrer le fichier dans un emplacement que vous spécifiez (c'est pris de mon live de cod, donc je suis sûr qu'il fonctionne):
[MODIFIER] OK Essayez comme ceci (chemin différent - un dossier sur le stockage externe):
/data/data/...
pasdata/data/...
et il ne peut pas être vu avec un explorateur de fichier, si vous n'avez pas accès à la racine.YourFolder
) est créé, sousDCIM
(ouCamera
, selon la version de l'OS).path.toString()
?path.mkdirs();
ne crée pas le dossier?final File file = new File(path, "config.txt");
ne fonctionne jamais dans le code...final File file = new File(folder, "config.txt");
, pasfinal File file = new File(path, "config.txt");
File folder = new File(path);
? Je parle de la[EDIT]
partie de ma réponse.folder
? Pouvez-vous faire un travail complet de code s'il vous plaît? Merci.File file = new File(folder, "config.txt");
Je commence à penser que vous êtes vraiment nouveau à la programmation.file
? Merci.Écrire un fichier texte simplifié:
Cette Méthode prend le nom de Fichier & Chaîne de données en Entrée et les décharges dans un dossier sur votre carte SD.
Vous pouvez modifier le Nom du dossier si vous le souhaitez.
Le type de retour est Boolean en fonction de la Réussite ou de l'échec de la FileOperation.
Remarque importante: Essayez de le faire dans Async Tâche en tant que Fichier IO font cause de l'ANR sur le Thread Principal.