在FileSystemWatcher检测到更改后读取文本文件的最后一行

时间:2013-03-06 14:46:30

标签: c# filesystemwatcher .net system.io.fileinfo

我之前的帖子是不可读的。 我试图在每次更改时读取文本文件的最后一行。 我的代码是,

private void fileSystemWatcherMCH1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
    string machState = File.ReadAllLines(@"C:\Users\sgarner\Documents\PROTOMET SHOP FLOOR\Machines\MACHINE_1.txt").Last();
    btnMCH1.Text = machState;
    btnMCH1.BackColor = Color.Blue;
}

如果我只运行btnMCH1.BackColor = Color.Blue;它就可以了。但我无法从文本文件中读取变量。 我确信我错过了一些简单的事情。 谢谢,

1 个答案:

答案 0 :(得分:0)

您的代码似乎提出了异常,但出于任何原因您都没有看到它。也许该文件正被其他进程使用...尝试抓住它然后显示它,所以,你可以看到问题:

private void fileSystemWatcherMCH1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
    try
    {
        string machState = File.ReadAllLines(@"C:\Users\sgarner\Documents\PROTOMET SHOP FLOOR\Machines\MACHINE_1.txt").Last();
        btnMCH1.Text = machState;
        btnMCH1.BackColor = Color.Blue;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Messasge);
    }
}