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