Skuteczne czytanie pliku zip w Javie

Pracuję nad projektem, który działa na bardzo dużej ilości danych. Mam dużo (tysiące) plików zip, z których każdy zawiera JEDEN prosty plik txt z tysiącami linii (około 80k linii). Obecnie wykonuję następujące czynności:

for(File zipFile: dir.listFiles()){
ZipFile zf = new ZipFile(zipFile);
ZipEntry ze = (ZipEntry) zf.entries().nextElement();
BufferedReader in = new BufferedReader(new InputStreamReader(zf.getInputStream(ze)));
...

W ten sposób mogę odczytać plik po wierszu, ale jest zdecydowanie za wolny. Biorąc pod uwagę dużą liczbę plików i linii, które trzeba przeczytać, muszę je przeczytać w bardziej efektywny sposób.

Szukałem innego podejścia, ale nie mogłem niczego znaleźć. Myślę, że powinienem korzystać z API Java nio przeznaczonych do intensywnych operacji we / wy, ale nie wiem, jak ich używać z plikami zip.

Każda pomoc byłaby naprawdę doceniana.

Dzięki,

Marco

questionAnswers(5)

yourAnswerToTheQuestion