Android Data storage 2

jf

Bekanntes Mitglied
Wie an folgender Stelle bereits angeschlossen:
http://www.java-forum.org/mobile-geraete/135622-data-storage.html#post894311

hab ich Probleme beim Schreiben in eine Datei...

Ich nutze die append()-Methode eines BufferedWriter-Objektes: bei der ersten Anwendung wird die Datei erstellt und die Ausgabe geschrieben. - Es werden allerdings keine weiteren Ausgaben angehängt.
Ich sehe aktuell in meinem Code keinen Grund dafür - kann es sein, dass Android hierfür ebenfalls spezielle Sicherheitsvorkehrungen trifft, welche es zu beachten gibt?

Ja, ich flushe nach jedem append().

Wenn ich das append im Code mehrfach hintereinander aufrufe, dann werden die Daten auch mehrfach geschrieben - nur, wenn ich die Anwendung/Android zwischenteitlich neustarte, wird der Datei nichts mehr hinzugefügt. Eine Exception wurde nicht gewurfen.


Außerdem werden bei jedem Schreibvorgang stets zwei Zeichen hinzugefügt: bf bd (bedes Hex-Zahlen).
Gibt es Infos hierzu?
 

jf

Bekanntes Mitglied
Vielen Dank eRaaaa, deine Analyse traf voll ins Schwarze! :)

Mir war bislang nicht bewusst, dass append() Thread-abhängig ist und standardmäßig nicht in jedem Fall hinten anhängt. - Was ist überhaupt der Hintergrund hierfür?

Das Problem mit den zusätzlichen Zeichen bf bd (Hex-Werte) hat sich auch erübrigt, seitdem ich den BufferedWriter weglasse. - Aber weshalb wurden diese angehängt, wenn diese Klasse verwendet wird? Wenn es ein Newline wäre, dann würde ich es ja verstehen, aber so...?
 

Ähnliche Java Themen

Neue Themen


Oben