我正在处理一个涉及大量数据的项目。 我有很多(数千个)zip文件,每个文件都包含一个简单的txt文件,其中有成千上万行(约80k行)。 我目前的做法如下:
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)));
...
这样我可以逐行读取文件,但速度明显太慢。 考虑到需要读取的文件和行数很多,我需要以更高效的方式进行读取。
我已经寻找了不同的方法,但没有找到合适的。 我认为应该使用专门用于大量 I/O 操作的 Java NIO API,但我不知道如何在 zip 文件中使用它们。
非常感谢任何帮助。
谢谢,
马尔科