PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: am Anfang einer Textdatei Daten einfügen (ohne bestehende zu überschreiben)


wry
2006-01-17, 18:04:13
Hi,

ich hab da ein Problem, ich hab eine Textdatei mit einigen Einträgen und will nun am Anfang dieser Datei Daten einfügen ohne die bereits bestehenden Einträge zu überschreiben.

Also aus :

text
text
...
text

soll sowas werden:

neu_text
neu_text
text
text
...
text


Ich möchte die Datei auch nicht einfach neu schreiben, weil die sehr groß sein kann.
Wie mache ich das am besten?

Coda
2006-01-17, 18:15:22
Dir bleibt nichts anderes übrig als die Datei neu zu schreiben. Und "groß" ist relativ. Ein paar Megabyte sind gar nichts.

Trap
2006-01-17, 18:30:35
Ich wüsste kein Betriebssystem was Einfügen am Anfang von Dateien anders ermöglicht als durch Kopieren das kompletten Inhalts.

wry
2006-01-17, 20:12:34
@coda
groß ist in meinem Fall im gb Bereich

@Trap
aso ok

dann werd ich mir wohl was übles mit dem RandomAccessFile
überlegen müssen *gg*

danke euch beiden

Abnaxos
2006-01-17, 20:15:43
@coda
groß ist in meinem Fall im gb Bereich

Whoops ... ich hoffe mal, es gibt irgendwelche konkreten Gründe, keine Datenbank zu verwenden. Wenn nicht, würde ich dir das dringend anraten.

dann werd ich mir wohl was übles mit dem RandomAccessFile
überlegen müssen *gg*

Und was genau willst du mit einem RandomAccessFile anstellen?

ollix
2006-01-17, 21:04:27
Was erzeugst Du denn für Dateien? Wäre es in so einem Fall nicht vielleicht auch günstiger die Logik wenn möglich so umzustellen, daß das was Du willst eben mit dem Anhängen von Daten an die Datei funktioniert?

wry
2006-01-17, 21:38:44
Ich hab mich jetzt darauf beschränkt nur 2 Zeilen vorne anzuhängen, dazu schreib ich einfach 2 ausreichend große Dummyzeilen (aus spaces) rein und überschreib diese später mittels RandomAccessFile.
Das File ist ein Input file für ein anderes Programm.
Die Logik konnte ich auch nicht umstellen, weil ich zuerst den Inhalt errechnen und dann Informationen über diesen in den ersten zwei Zeilen unterbringen muss.

Coda
2006-01-17, 23:23:20
Whoops ... ich hoffe mal, es gibt irgendwelche konkreten Gründe, keine Datenbank zu verwenden. Wenn nicht, würde ich dir das dringend anraten.Das würde ich auch sagen...

Pinoccio
2006-01-18, 01:11:35
Die Logik konnte ich auch nicht umstellen, weil ich zuerst den Inhalt errechnen und dann Informationen über diesen in den ersten zwei Zeilen unterbringen muss.Wenn dich die Anforderungen des anderen Programms dazu zwingen, wirst du um deine Dummy-Lösung wohl nicht umhinkommen. Pass aber auf, so in der Art provoziert man Overflows! ;-)

mfg Sebastian