【问题标题】:How to read large file to chunk and process it如何读取大文件到块并处理它
【发布时间】:2019-06-10 10:25:15
【问题描述】:

我尝试在 java 中将大文件读入 10 个 FIFO 队列块。每个块包含 1 GB。如果读到 10 个块。它等待一段时间来处理。它通过多线程处理每 5 个块。如果某个线程完成,它将拉下一个块进行处理,然后将其写入另一个文件。我该怎么做?

【问题讨论】:

  • 欢迎来到 Stack Overflow!请转至help center 了解如何/在这里问什么。只是放弃要求“这就是我想要的”是不受欢迎的。当您自己尝试某件事时,遇到特定问题时,我们很乐意提供帮助。但请理解,这个地方并非旨在为您提供从愿景到工作计划可能需要的许多步骤的指导。换句话说:您可以通过开始尝试来做到这一点。

标签: java multithreading


【解决方案1】:

如果您明确要读取 10 GB 的文件,只需按顺序读取整个文件,因为 DISK I/O 非常慢,除非您知道您的生产级机器有一些 SSD,而且速度非常快。

假设文件是​​文本文件,使用 FileInputStream > InputStreamReader > BufferedInputStream。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 2017-04-24
    • 2018-11-11
    • 2016-07-17
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多