我有一个将近 1 GB 的 ARPA 文件。我必须在不到 1 分钟的时间内完成搜索。我已经搜索了很多,但我还没有找到合适的答案。我想我不必阅读整个文件。我只需要跳转到文件中的特定行并阅读整行。ARPA 文件的行长度不同。不得不提的是,ARPA 文件具有特定的格式。
文件格式
\数据\ ngram 1=19 ngram 2=234 ngram 3=1013 \1克: -1.7132 普鲁 -3.8008 -1.9782 饱和度 -3.8368 \2克: -1.5403 达拉姆杜阿 -1.0560 -3.1626 达拉姆 0.0000 \3克: -1.8726 itu dan tiga -1.9654 itu dan untuk \结尾\
正如您在示例文件中看到的,我有 19 行 1-gram、234 行 2-gram 和 1013 行 3-gram。我将行的字符串部分提供给程序并获取字符串左侧和右侧的数字。输入字符串可以帮助我知道我必须在文件的哪个部分进行搜索。我必须找到一种不完全读取文件的方法,因为我的文件非常大,读取整个文件需要很多时间。我认为不使用索引文件并访问整行就跳转到文件中的特定行是一个好方法。
如果你能帮助我完成我的任务,那就太好了。