BufferedWriter irgendwie klonen!

  • Themenstarter Themenstarter Ein Gast
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
E

Ein Gast

Gast
Hi,

ich habe folgendes Problem:
Ich muß zur Laufzeit eine dynamische Anzahl von Dateien auf die HD schreiben. Also sagen wir mal zu Anfang 3. Dazu benutze ich im Moment BufferedWriter.
Irgendwann zur Laufzeit muß ich eine neue Datei erzeugen, die genau denselben Inhalt haben soll wie eine andere von den bereits bestehenden die dann aber unabhängig von einander verändert werden sollen.
Dazu muß ich ja irgendwie eine Kopie des Inhalts des einen BufferedWriter bekommen... Nur klonen geht ja nicht (also mit .clone()) und die Datei erstmal zu schließen, dann mit nem Reader einzulesen und das dann in einer neuen Datei zu speichern erscheint mir sehr umständlich.. Noch dazu müßte ich mir ja den FileWriter merken um an die Datei erstmal ran zu kommen..
Da gibts doch bestimmt ne einfachere Möglichkeit, oder?

Vielen Dank schonmal!
Ein Gast
 
Eine Art clonen wird wohl nicht gehen da der BW eben zum Schreiben und nicht zum Lesen ist.
Wenn du jetzt die Referenz an ein anderes BW-Objekt übergibst, hättest du zudem auch noch den selben Dateinamen, und das willst du ja nicht.
Vielleicht kenn ich den Weg auch einfach nicht, aber mir würde jetzt auch nichts anderes als nochmal einlesen und dann schreiben einfallen ...
 
Wie groß sind die Dateien?

Ansonsten einfach ein byte Array anlegen (oder mehrere doppelte) und dort den Inhalt speichern!
 
Danke erstmal für die Antworten. Scheint ja wirklich nicht so einfach bzw. elegant zu lösen sein.
Naja, die Dateien sind nicht soo groß, aber es könnten unter Umständen sehr viele werden. Also im worst case wär die Lösung mit dem Byte Array vermutlich der Untergang :wink: . Ich muß einen evtl. sehr großen Baum traversieren und abhängig von den Eigenschaften an den Knoten die Dateien erzeugen..
Naja, werd das dann wahrscheinlich mit dem wieder einlesen machen, wobei ich das alles andere als "schön" finde...
Falls noch jemand was einfällt, immer her damit 🙂
 
Ein, wie auch immer zu bewerkstelligendes, Klonen kann nicht
funktionieren, da auch ein BufferedWriter seinen internen Buffer
gelegentlich leert.
:shock:
Doch, wirklich: Ist so! 😀
 
Ein Gast hat gesagt.:
Scheint ja wirklich nicht so einfach bzw. elegant zu lösen sein.

Naja, den Inhalt intern zwischenspeichern findsch jetzt net so komplex und so hässlich is das auch net 😉

Ein Gast hat gesagt.:
Naja, die Dateien sind nicht soo groß, aber es könnten unter Umständen sehr viele werden. Also im worst case wär die Lösung mit dem Byte Array vermutlich der Untergang :wink: .

Wenn ich dich jetzt richtig verstanden habe, dann ist es ja immer die selbe Datei!? Von daher musste die Datei ja nur einmal in den Arbeitsspeicher legen, sollte also kein Problem sein. Und selbst wenn du viele kleine Dateien hast müsste das schon wirklich einiges sein um den kompletten Speicher voll zu müllen.
 
wow, wenn das jetzt sogar ne digitale is, seh ich ja ganz schö alt aus ... In diesem Sinne: Es tut mir unendlich Leid ehrenvolle Daten.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben