Sto lavorando con un file di testo molto grande (755 Mb). Ho bisogno di ordinare le linee (circa 1890000) e poi scriverle in un altro file.righe di ordinamento di un file.txt enorme in java
ho già notato che la discussione che ha un file di partenza davvero simile al mio: Sorting Lines Based on words in them as keys
Il problema è che non riesco a memorizzare le linee in una collezione in memoria perché ho un eccezione Java Heap spazio (anche se ho ampliato è al massimo) .. (già provato!)
non possibile aprire con Excel e utilizzare la funzionalità di ordinamento perché il file è troppo grande e non può essere completamente caricato ..
I pensato di usare un DB ... ma penso che scrivere tutte le righe poi tu se la query SELECT è troppo lunga in termini di esecuzione del tempo..am mi sbaglio?
Eventuali suggerimenti apprezzato Grazie in anticipo
Bene, "troppo lungo" dipende dalle vostre aspettative. Se speri di farlo in mezzo secondo, sarà davvero troppo lungo. Se non ti dispiace aspettare qualche secondo o qualche minuto, non dovrebbe essere un problema. Provalo e vedi se il tempo è ragionevole. –
Dovresti riuscire a memorizzare il file in memoria con circa 1 GB di heap usando le ultime versioni di Java. cioè con '-XX: + UseCompressedStrings' –