【发布时间】:2010-09-20 13:53:15
【问题描述】:
是的,这听起来像是一个新手问题,但有一个 TWIST! (And i've done an SO search already...)
我正在尝试读取多个文件,一次一个......而每个文件都可能将新数据附加到它的末尾。
我总是知道我最后一个字符的位置。
所以当我访问一个文件时,我在想我想在执行该行代码时从开始位置读取到当前结束位置?
然后解析所有数据.. 并转到下一个文件。当我在解析该数据时,有可能新数据被附加到文件的末尾......直到我回来重新开始解析文件之前我不会得到它。
我有大约 300-400 个文件要解析 .. 这就是为什么我不特别想制作大量线程并且每个线程都有自己的数据库连接等等。随便什么..等等。
最后,每秒的新数据并不多。所以我不会永远“赶上”。
那么 .. 任何想法如何最好地做到这一点?
我还在解析每个“行”......其中一行是一些以“\n”结尾的文本,等等。
想法?
更新/重新编辑..
- 不用担心我有很多文件并且想将数据存储到数据库中。我建议这样做的原因是人们没有开始建议每个文件使用多个线程、文件监视程序等......
- 每个日志文件具有相同的结构等,只是数据/内容不同。不,我不想检测它们何时更新。我只想手动解析每一个,从最后一个流位置到当前结束位置。
【问题讨论】:
-
您需要澄清几件事:1)您提到线程和数据库,数据库与您的文件有什么关系?您能否详细说明整个工作流程。 2) 是否所有文件都以相同的内容开头,只是或多或少完整,或者您是否有 300-400 个不同的(日志?)文件要在它们有更多数据时检测?
-
@Albin Sunnanbo 更新了开幕主题。