Есть ли в Java способ рандомизировать файл, слишком большой, чтобы поместиться в памяти?

Что я хотел бы сделать, так это перетасовать строки (считывание из CSV), затем распечатать первые рандомизированные 10 000 строк в один csv, а остальные - в отдельный csv. С небольшим файлом я могу сделать что-то вроде

java.util.Collections.shuffle(...)
for (int i=0; i < 10000; i++) printcsv(...)
for (int i=10000; i < data.length; i++) printcsv(...)

Однако с очень большими файлами я получаю OutOfMemoryError

6
задан Prince John Wesley 24 October 2011 в 12:16
поделиться