【问题标题】:Is it possible to update and see changes to a text file是否可以更新并查看对文本文件的更改
【发布时间】:2018-06-29 12:20:16
【问题描述】:

你有一个 c# 应用程序。

我已经创建了自己的日志文件。

当我的应用程序运行时,我会打开这个日志文件。然后我想看看发生的变化,而应用程序正在运行和“录制”。

我环顾四周,但我能找到的只是如何读取正在更新的文件,而不是相反。

我目前只有这个...

    protected void LogSync(string message)
    {
        try
        {
            lock (SynLock)
            {
                using (var sw = new StreamWriter(SyncFilename, true))
                {
                    sw.Write(message + Environment.NewLine);
                    sw.Close();
                }
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            throw;
        }
    }

【问题讨论】:

  • 我认为您需要关闭文件日志并在应用执行某些操作以显示结果后打开它。
  • @osmanRahimi 对不起,但这是我的问题是否可以在不关闭和打开日志文件的情况下查看更新。我知道有可能我只需要知道如何
  • 为了记录,您的using (var fs = new FileStream(SyncFilename, FileMode.Append, FileAccess.Write, FileShare.ReadWrite)) 代码是不必要的。如果文件不存在,StreamWriter 将创建该文件。此外,您不需要对包装在using 语句中的对象调用Close()Dispose()。将其包装在 using 中的原因是它会自行处理,即使发生异常也是如此。
  • @VisualVincent 谢谢 :)

标签: c# logging


【解决方案1】:

您可以使用FileSystemWatcher 来监控路径。请阅读这篇文章

Using FileSystemWatcher to monitor a directory

FileSystemWatcher:监听文件系统更改通知和 当目录或目录中的文件发生更改时引发事件。

【讨论】:

  • 这不是我想要的
猜你喜欢
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
  • 2019-06-25
  • 2019-09-26
  • 2011-01-10
  • 1970-01-01
相关资源
最近更新 更多