首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中处理大量文本文件

在java中处理大量文本文件
EN

Stack Overflow用户
提问于 2015-08-27 10:56:08
回答 2查看 652关注 0票数 1

我正在工作的应用程序,必须读取和处理~29K文件(~500 on )每天。这些文件将采用压缩格式,并可在ftp上使用。

我所做的:我计划从ftp下载和文件,解压缩它并使用多线程进行处理,这大大减少了处理时间(当活动线程的数量固定在较小的数目时)。我编写了一些代码,并测试了~3.5K文件(~32 it )。详细信息:https://stackoverflow.com/a/32247100/3737258

然而,估计的处理时间,对于~29K文件,似乎仍然很高。

我正在寻找的:的任何建议/解决方案,可以帮助我把~29K文件的处理时间,~500 to,到3-4小时。

请注意,每个文件必须逐行读取,每一行都必须在修改后写入新文件(删除了一些信息,添加了一些新信息)。

EN

回答 2

Stack Overflow用户

发布于 2015-08-27 11:22:50

很难为您的问题提供一个解决方案,因为您可能只是达到了硬件限制。

一些想法:

  • 您可以并行处理处理读取信息所必需的进程。在那里,您可以为一个线程(从一个池中)提供多行读取,该线程依次处理这些线程。
  • 使用java.nio而不是java.io参见:Java与FileOutputstream性能/有用性
  • 使用轮廓仪
  • 而不是分析器,只需编写日志消息并在应用程序的多个部分测量持续时间。
  • 优化硬件(使用SSD驱动器、块大小、文件系统等)
票数 0
EN

Stack Overflow用户

发布于 2015-08-28 01:21:28

如果您对并行计算感兴趣,那么请尝试Apache,它的目的就是要做您想要做的事情。

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

https://stackoverflow.com/questions/32247512

复制
相关文章

相似问题

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