FileOutputStream manilpulieren

I

ItsMe

Gast
Hallo,
Ich schreibe eine Java-Anwendung und habe folgendes Problem: Mein Programm bekommt mehrere Teile (für gewöhnlich mehr als 20, mit einer größe von vlt. 200kB) einer Datei von einer Quelle aus dem Netz.
Ich schreibe die Teile in einen FileOutputStream. Nun ist leider nicht sichergestellt, dass die Teile in korrekter Reihenfolge eintreffen (In jedem Teil steht aber an welche Stelle es kommen muss). Ich habe aber auch nicht unendlich viel Speicherplatz um alles zwischen zu puffern (eigtl. maximal 5MB).
Hat jemand eine Idee wie ich ohne viel zeitlichen und speicher-Aufwand die Datei korrekt auf meine Platte schreiben kann? Gibt es eine möglichkeit den FileOutputStream so zu manipulieren, dass ich die fehlenden Stellen später vielleicht einfügen kann, oder erst einmal mit Platzhaltern belege und diese dann später ersetze?

Vielen Dank für eure hoffentlich tollen Ideen
Grüße
 
S

SlaterB

Gast
leg doch 20 Dateien an,
am Ende liest du sie der Reihe nach ein, löschst sie jeweils und speicherst du aktuellen Teil richtig in die finale Datei,
da solltest du nie viel mehr als den sowieso benötigten Speicherplatz brauchen,

5MB passt übrigens auch einigermaßen temporär in den Arbeitsspeicher
 

Wortraum

Bekanntes Mitglied
Mit RandomAccessFile kann man wie in eine byte‐Reihung schreiben. Die seek‐Methoden akzeptieren einen Versatz, so daß Du beispielsweise zuerst von 200kB bis 400kB schreiben kannst, später dann von 0kB bis 200kB.
 

Ähnliche Java Themen

Neue Themen


Oben