zoukankan      html  css  js  c++  java
  • C#下多进程共同读写同一文件

    最近遇到这样一个需求,用C#写一个界面,在界面上实时输出一个日志文件。

    实时检测文件变化,以便刷新界面显示,可以用FileSystemWatcher组件,响应Changed事件即可。

    关键是在Changed事件响应函数中,如果以传统只读模式打开文件句柄,老是会提示: 文件正由另一进程使用,因此该进程无法访问该文件。

    最后发现构造文件流时除了常见的FileMode外,还可以指定FileShare参数,实现控制其他 System.IO.FileStream 对象对同一文件的共享操作,代码如下:

    1 FileStream stream = new FileStream(Directory.GetCurrentDirectory() + "\log\log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
    2 StreamReader reader = new StreamReader(stream, Encoding.UTF8);
    3 String value = reader.ReadToEnd();
  • 相关阅读:
    kafka-->storm-->mongodb
    zuul filter
    使用Spring Cloud Feign
    kafka客户端发布record(消息)
    kafka java api消费者
    kafka java api生产者
    kafka安装和使用
    多线程分析
    springboot入门
    centos7上svn安装
  • 原文地址:https://www.cnblogs.com/itZhy/p/3348050.html
Copyright © 2011-2022 走看看