17. december 2004 - 06:17Der er
6 kommentarer og 1 løsning
Java heap space
Hej Jeg har brug for at læse meget store tekstfiler ind for at arbejede med dem. (730 Mb.)
Problemet er, at når jeg bruger "BufferedReader" render jeg ind i at jeg java smider en "Out Of Memory Error". Jeg har prøvet at sætte heap space op med et lille program (javamem), som jeg fandt på nettet, men det virker ikke. Er der nogen der har et godt råd? Jeg har en giga ram i maskinen. Eller skal jeg skrive mit program i et andet programmeringssprog?
Men hvis filen er 730 MB og du bruger BufferedReader, så har du et problem, fordi BufferedReader bruger String som bruger char[] som er unicode d.v.s. at 1 bogstav bliver til 2 byte.
2*730MB = 1.46GB
Hvis du derimod læser det ind som byte[] så bør lige akkurat kunne lade sig gøre.
Tak for dit svar, det er i øvrigt som byte jeg skal bruge det. Jeg havde helt glemt at der er kommet en ny IO pakke. Den vil jeg prøve at kikke på. Jeg har prøvet at skrive noget lignede i Perl, men her løb jeg også ind i problemer, dog med at sidefilforbruget dræbte scriptet efter det havde kørt i over en time.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.