![]() |
1
0
编辑: 我刚刚有了一个更好的主意,但无论如何我还是要把旧的解决方案包括进去。 向后搜索的好处意味着您只需要读取文件的第一个块,直到指定的行号。为了接近,你越来越接近起跑线,如果你找到了一个匹配,你就忘了旧的。您在开始时仍然会读取一些冗余数据,但至少是O(N)
当然,记住这个文件的大小在回答您的问题时起着重要的作用。
如果你想认真的话,你可以调查一下
原件: 为了获得全面的解决方案,您可以尝试以下方法。缺点是,您需要将整个文件读取到内存中,但是如果文件没有匹配就到达顶部,则需要考虑从下到上的连续性。未经测试的。
|
![]() |
2
1
我想你得一行一行地读文件 那么下面的工作就可以了
|
|
3
1
如果性能不是一个大问题,您可以使用一个简单的循环:
恐怕您必须逐行地处理文件,除非您在文件上有索引,指向行的开头。这会使循环变得简单一点,但是以向后的方式处理文件会比较困难(除非您将整个文件保存在内存中)。 |
![]() |
4
0
1)将整个文件读入一个字符串。
不是很快也不是很有效率,但它很优雅。或者至少聪明。 |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 7 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 7 月前 |
![]() |
lucycoco · 如何解决pod安装问题并成功运行pod安装? 11 月前 |
![]() |
Vessel · Ruby-包含任意数量元素的所有排列 11 月前 |