我的txt文件是每隔一分钟更新一次,我只想读取更新的那些内容,程序如何写呢?有现成的例子吗?

解决方案 »

  1.   

    先记录上一次更新的内容,然后在读取TXT内容时再比较,当然这个比较会有点复杂
      

  2.   

    txt文件有什么特殊要求吗?能不能自己插入一些分隔符比如“||”这种。
    这样就知道最后那部分是更新的了
      

  3.   

     FileStream stream = new FileStream("", FileMode.Open);
                stream.Position = 123456;
    这个不知道可不可以的...
      

  4.   

    如果没啥特殊标志,只能考虑全文比较方式。这个是有算法的。具体没深究过,但是codeporject上这类文章可不少,搜一下关键词吧:“file diff” or "content diff" or "Compare text"一类的
      

  5.   

    参考http://www.codeproject.com/info/search.aspx?artkw=diff
      

  6.   

    1.如果更新的东西是本程序产生的话,那么可以直接获取
    2.hash存储,二进制序列化写入文件,读取时反序列化,这样可以根据键值读写特定记录了
      

  7.   

    简单的做法是调用dos 命令WINDOWS下DOS命令之Fc
    http://www.flysen.cn/a/tec/DP/2009/1103/2065.html比较两个文件并显示它们之间的差异。
    语法 fc [/a] [/b] [/c] [/l] [/lbn] [/n] [/t] [/u] [/w] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2
      

  8.   

    如果你确定没有其他程序去修改你这个text文件的话
    可以使用FileSystemWatcher组件检测这个文件在程序中记住这个text文件的长度,发生变化时,直接设置position读取