处理巨大的utf8文件,拆分为多个文件

本文关键字:文件 拆分 utf8 处理 巨大 | 更新日期: 2023-09-27 18:16:27

我正在开发一个导入程序,用于在c#中导入大文本utf8(字符字节不同)文件。如果我加载所有20GB的文件到RAM,这个解决方案是不合适的和可能的。最好将文件分割成多个较小的文件进行处理。现在,我的问题是分割文件以进行处理。我的解决方案是逐行读取文件,如果行号是我合适的号码,则将它们分开。但我认为,逐行读取文件进行拆分并不是快速的解决方案。分割时间高。有没有一种算法可以将大的utf8文件分割成多个文件,而不需要逐行读取,而且速度更快?

处理巨大的utf8文件,拆分为多个文件

我对你的问题的建议如下:这一点我认为要牢记关注点的分离,因为文件的分割和文件的处理可以分开,以便更好地进行维护。

  1. 读取二进制文件而不是文本
  2. 不要逐行读取,因为拆分时不需要读取文件。
  3. 使用寻求。请参考链接。
  4. 如果你需要保存完整的行分割文件,那么在你寻找位置后,搜索下一个行结束字符,然后拆分文件。
  5. 一旦文件被分割,单独处理文件