首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >逐行读取压缩文件,还是先解压缩?

逐行读取压缩文件,还是先解压缩?
EN

Stack Overflow用户
提问于 2014-01-15 21:56:36
回答 3查看 347关注 0票数 0

我有一个压缩的csv文件,将定期处理3-4倍的一天。尺寸可能在500至1000兆字节之间。

我想逐行阅读所包含的csv行。因此,最好先解压缩文件,然后读取它,还是我也可以使用java流来读取文件呢?

有什么优势(性能)吗?从一种方法到另一种方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-15 22:03:23

对于计算机来说,最慢的活动之一是硬盘访问(至少直到SSD变得更常见为止)。因此,解压缩它,然后读取解压缩的文件将显着地慢。

直接从ZipInputStream读取行将获得更好的性能。

票数 1
EN

Stack Overflow用户

发布于 2014-01-15 21:58:35

在我看来,解压缩更快,也可能更简单。如果性能很重要,请测试这两种方法。如果磁盘空间是有限的

票数 0
EN

Stack Overflow用户

发布于 2014-01-15 22:13:50

拉链和解压都是时间昂贵的。

如果您可以在不解压缩的情况下访问.csv文件(我不知道您的.csv文件在压缩状态下是否很难读取),那么您可以将.CSV文件作为一个RandomAccessFile打开,只处理特定的行而不是整个文件。

这可能适用,也可能不适用,但至少它将大大提高性能,因为您只需要从需要的地方读取/写入数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21149081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档