用大量数据读取记录器文件的最佳方法是什么?

时间:2014-08-17 08:40:03

标签: java

我创建了一个记录器工具,用于监视文件中的更改并从更改的文件中获取所有数据。        我遵循了以下步骤:

  •    1.注册文件监听器以找出已更改的文件。它会给我一个已更改的文件的名称。
  •    2.我的正则表达式将根据指定的模式从文件中读取log4j数据。
  •    3.使用BufferedReader读取数据,BufferedReader从文件开始到文件结束顺序读取。将所有数据放入列表中,这将保持插入顺序。所以基本上我会将最新的日志作为列表的末尾。
  •    4.获取前100条记录并在UI上显示。
  •        我想知道我的方法是否正确,或者是否有任何方法可以更快地读取文件数据,因为日志可以是GB并且读取整个效率并将其存储到List中。        它会对内存产生拥抱影响,因为维护这些数据列表并不是一个好主意。        任何替代方案,建议?

    1 个答案:

    答案 0 :(得分:0)

    由于您只需要100条记录,我建议只阅读足够的行来查找所需的数据。你不应该害怕GB的数据。你有GB的内存和磁盘,你只需要显示用户可以看到的数据。在你测量之前我不会认为你有性能问题。您可以在合理的时间范围内(使用正确的硬件)实际管理数据TB