【问题标题】:Handling different kinds of files efficiently?有效地处理不同类型的文件?
【发布时间】:2019-04-06 09:48:50
【问题描述】:

我正在开发一个处理大量不同大小文件的 Java 应用程序。 (例如:数百万行的文件或数百万行的单个文件)。处理这两种情况的最有效方法是什么?

【问题讨论】:

  • 请详细说明,例如文件类型以及您在此处针对的操作
  • 不要将整个文件加载到内存中,而是在读取时以流式方式处理它。无论文件大小如何,这是最快的,但您可能不会注意到小文件的差异。
  • 取决于应用程序如何处理文件?一种。是否仅限于上市? b .它是一次读取一个文件,还是同时读取所有文件。读取文件内容可以根据文件大小进行优化。

标签: java io stream filestream


【解决方案1】:

处理数百万个文件的最有效方法是拥有一个快速的 SSD 驱动器。打开和关闭每个文件的成本很高,并且可能成为瓶颈。一个 HDD 可能只允许您每秒读取大约 100 个文件,无论它们多么小。

要处理千兆字节的文件,您可能希望同时处理文件的某些部分,但具体操作方式取决于文件格式和您需要对文件执行的操作。您应该能够以大约 50 - 200 MB/s 的速度读取文件,具体取决于您对文件的处理方式。

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 2019-03-20
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多