Android n'est pas écrire de nouvelle ligne dans le fichier texte
Je suis en train d'écrire une nouvelle ligne à un fichier texte dans android.
Voici mon code:
FileOutputStream fOut;
try {
String newline = "\r\n";
fOut = openFileOutput("cache.txt", MODE_WORLD_READABLE);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
osw.write(data);
osw.write(newline);
osw.flush();
osw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
J'ai essayé \n
, \r\n
et je n'ai également essayer d'obtenir le système de la propriété pour une nouvelle ligne, ni de leur travail.
La variable de données contient déjà des données à partir du même fichier.
String data = "";
try {
FileInputStream in = openFileInput("cache.txt");
StringBuffer inLine = new StringBuffer();
InputStreamReader isr = new InputStreamReader(in, "ISO8859-1");
BufferedReader inRd = new BufferedReader(isr,8 * 1024);
String text;
while ((text = inRd.readLine()) != null) {
inLine.append(text);
}
in.close();
data = inLine.toString();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Que voulez-vous dire "ne pas travailler"? Comment voulez-vous vérifier? Essayez également de remplacer
Quand je l'ouvre dans textedit, word ou n'importe quel autre programme. Les nouvelles lignes ne sont pas affichés.
Essayé avec un texte factice, il ne fonctionne pas.
et vous dire que 1)le fichier est créé 2)certaines données sont écrites à 3) nouvelles lignes ne sont pas? Pouvez-vous s'il vous plaît essayer de dupliquer les deux écritures:
Ce
data
avec quelque chose de simple comme "foo" et vérifier si le contenu de variable causer des problèmes.Quand je l'ouvre dans textedit, word ou n'importe quel autre programme. Les nouvelles lignes ne sont pas affichés.
Essayé avec un texte factice, il ne fonctionne pas.
et vous dire que 1)le fichier est créé 2)certaines données sont écrites à 3) nouvelles lignes ne sont pas? Pouvez-vous s'il vous plaît essayer de dupliquer les deux écritures:
osw.write(data); osw.write(newline);
je veux voir si au moins une nouvelle ligne.Ce
data
variable contient? Vous attendez-vous la seule nouvelle ligne à la fin du fichier (en fonction de votre code)?OriginalL'auteur NikolajSvendsen | 2012-02-16
Vous devez vous connecter pour publier un commentaire.
J'ai exécuté un programme similaire et il a travaillé pour moi. J'ai observé un comportement étrange. Il a ajouté que ces nouvelles lignes dans le fichier, cependant le curseur est resté à la première ligne. Si vous voulez vérifier, écrire un
String
après vos caractères de saut de ligne, vous verrez que laString
est écrit juste en dessous de ces nouvelles lignes.OriginalL'auteur Shashank Kadne
J'ai eu le même problème, essayé tous les trucs dans le livre.
Mon problème: le retour à la ligne ont été écrites, mais lors de la lecture, ils ont été enlevés:
Le fichier a été lu ligne par ligne et concaténés, de sorte que le retour à la ligne a disparu.
Je n'ai pas regardé le fichier d'origine dans le bloc-notes ou quelque chose parce que je ne savais pas où regarder sur mon téléphone, et mon logscreen utilisé le code qui supprime le saut de ligne 🙁
De sorte que la simple soultion était de le remettre lors de la lecture:
OriginalL'auteur Michel
J'ai eu le même problème et a été incapable d'écrire une nouvelle ligne. J'utilise à la place BufferdWritter d'écrire une nouvelle ligne dans le fichier et ça marche pour moi.
Voici un exemple de code sniplet:
OriginalL'auteur Shobhit Puri