实时监控TXT文件,TXT新增行导入数据库,怎么实现

xielao5566 2012-11-15 03:38:06
大家好,我现在要做一个实时监控TXT文件,并把TXT文件中新增的内容导入到数据库中。
1.首先,TXT文件是一个系统生成的(随时会产生一行新数据,名称可能不一样)
2.用什么方式实时监控这个TXT,发现有新增行,就把新增行导入到数据库
3.导入后做个标记,记录这个TXT文件扫描到哪一行了,下次读这个TXT,直接从这一行开始导入。
大家有什么好的思路,方法,关键是时实监控和记录位置两个地方,帮帮忙。
...全文
551 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
c19102989 2012-11-16
  • 打赏
  • 举报
回复
监控文件c#有个监视类FileSystemWatcher 了解一下
lpingz 2012-11-16
  • 打赏
  • 举报
回复
引用 8 楼 xielao5566 的回复:
是写成windows服务,还是用TIMER?
那就看你的具体情况了,解决方案定了,剩下就是实现方式了。
xielao5566 2012-11-15
  • 打赏
  • 举报
回复
引用 7 楼 wetcom 的回复:
1楼回答正确,不过还需要注意一下文件当前是否正在写入,觉得比较安全的办法是,一边监控文件的大小,同时记录读取的行数,当发生变化时,先复制一份作为副本,读取副本的数据,避免文件被占用带来的异常,以及影响写入数据的程序正常写入
是写成windows服务,还是用TIMER?
wetcom 2012-11-15
  • 打赏
  • 举报
回复
1楼回答正确,不过还需要注意一下文件当前是否正在写入,觉得比较安全的办法是,一边监控文件的大小,同时记录读取的行数,当发生变化时,先复制一份作为副本,读取副本的数据,避免文件被占用带来的异常,以及影响写入数据的程序正常写入
warlock 2012-11-15
  • 打赏
  • 举报
回复
使用当前的思路也不是不行,同样得用一个程序来跑这个txt文件,但会涉及到竞争读写(在写入的同时,程序可能在读取);所以需要处理好读取入写入的关系!不要出现竞争锁;
warlock 2012-11-15
  • 打赏
  • 举报
回复
使用当前的思路也不是不行,同样得用一个程序来跑这个txt文件,但会涉及到竞争读写(在写入的同时,程序可能在读取);所以需要处理好读取入写入的关系!不要出现竞争锁;
bdmh 2012-11-15
  • 打赏
  • 举报
回复
如果每次都全部读入,并比较的话,效率太低了,可否这样,记录上一次文件的大小,下一次,从这个大小的地方开始读入,即多出来的内容,这些内容就是新增的,然后转为你要的信息
warlock 2012-11-15
  • 打赏
  • 举报
回复
这个业务使用消息队列很容易就能解决问题,消息队列可以随时向里面丢消息进去;然后用一个程序跑消息队列中的消息,每隔一定时间就读取一次消息,然后处理消息即可;
warlock 2012-11-15
  • 打赏
  • 举报
回复
这个业务使用消息队列很容易就能解决问题,消息队列可以随时向里面丢消息进去;然后用一个程序跑消息队列中的消息,每隔一定时间就读取一次消息,然后处理消息即可;
lpingz 2012-11-15
  • 打赏
  • 举报
回复
实时监控:采用监控文件大小,记录当前大小,变大则读取。 记录位置:记录当前行数,进行读取。

111,021

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧