我想从文本文件中读取特定行,而不是逐行读取整个文件。例如,如果我在文本文件中有10行并且我必须读取第6行,我将不会读取前5行,而是直接读取第6行。任何人都可以帮助我吗?
答案 0 :(得分:3)
此问题已解答here
从上面引用,
除非您了解有关该文件的更多信息,否则无法随机访问特定行。新行由行末字符的存在分隔,并且它们通常可以在任何地方出现。文本文件没有 map 或 index ,可以跳到n th 行。
如果您知道,例如,文件中的每一行都是相同的长度,那么您可以使用随机访问来跳转到特定的行。如果没有这方面的额外知识,你就别无选择,只能遍历整个文件,直到达到你想要的一行。
致谢:引用的回答是David Heffernan
答案 1 :(得分:0)
你可以索引'文件。请注意,只有您的文本文件:
才值得付出努力最简单(也可能是最有效)的方法是使用数据库引擎。只需将文件存储在一个表中,每行一行。
或者,您可以创建自己的索引机制。基本上,这意味着:
在文本文件中查找 n 行需要两次搜索: