用Java反转大量文本文件

Dan*_*son 10 java file-io file

将以异步方式上载的大型文本文件转换为以可扩展且高效的方式反转此文件的servlet的最佳方法是什么?

  • 文本文件可能很大(千兆字节长)
  • 可以假设多个服务器/集群环境以分布式方式执行此操作.
  • 鼓励开源图书馆考虑

我正在考虑使用Java NIO将文件视为磁盘上的数组(这样我就不必将该文件视为内存中的字符串缓冲区).此外,我正在考虑使用MapReduce来分解文件并在单独的机器中处理它.

Bil*_*l K 4

如果它上传给您,并且您可以在开始时获取长度,您可以预先创建一个空的全尺寸文件,然后从后面开始写入,然后使用seek一直到前面

您可能想要定义一个块大小(例如 1K?),并在将其写入文件之前在内存中反转该大小。