Stream verarbeitungsproblem
Hallo ich habe da ein kleines RAM problem.
ich schreibe grade an ein programm das Daten Codiert und decodiert, das problem das dies leider das es noch sehr fiel Arbeitsspeicher frisst, den er stremmt die zu codierende Datei in eine Byte-Array, um sie an einzelne byte ran zu kommen ,das funktioniert gut bei kleinen Daten wie eine MP3 mit 25MB
aber für Daten pakete mit 1,55GB aufwärts reicht mir der Arbeitsspeicher nicht.
Deswegen such ich eine Methoden, wo mit ich den Stream wie eine Array durchlaufen kann.
ich hoffe ihr könnt helfen, Danke.
AW: Stream verarbeitungsproblem
naja soweit ich weis kannst du es nicht, du musst denke ich die datei auf mehrere virtuelle array aufteilen, du liest die ersten n byte blöcke ein, machst damit was auch immer und schreibst diese dann in eine temp datei und macht weiter mit den nächten n bytes. im anschluss musst du eben alle daten wieder concatten.
AW: Stream verarbeitungsproblem
Bin auch Dark's Meinung. Du musst die Datei in kleine Häppchen aufteilen. Stück für stück lädst du diese in den RAM, durchläufst deinen Algorythmus, speicherst den Part in der Zieldatei, gibst den RAM wieder frei und fängst von vorne an, bis du die Datei komplett verarbeitet hast. Ansich nicht sehr aufwändig, sollte sich mit wenigen Zeilen Code realisieren lassen.
AW: Stream verarbeitungsproblem
ok mal sehn wie ich den Stream teilen kann ok danke für die, Idee :D