C# 如何从网络文件夹中获取最新文本文件

C# 如何从网络文件夹中获取最新文本文件,c#,C#,我需要从网络文件夹的最新文本文件中获取数据,并将其显示在richtextbox中 这是我的代码: Path = $@"\\sr-data\Groups\EG\Shares\PC\PG-14\SS\SystemLog"; string pattern = "*.txt"; DirectoryInfo directoryInfo = new DirectoryInfo(Path); FileInfo[] files = directo

我需要从网络文件夹的最新文本文件中获取数据,并将其显示在richtextbox中

这是我的代码:

Path = $@"\\sr-data\Groups\EG\Shares\PC\PG-14\SS\SystemLog";
string pattern = "*.txt";
DirectoryInfo directoryInfo = new DirectoryInfo(Path);
            
FileInfo[] files = directoryInfo.GetFiles(pattern);
DateTime recentWrite = DateTime.MinValue;
FileInfo recentFile = null;

foreach (FileInfo file in files)
{
    if (file.LastWriteTime > recentWrite)
    {
        recentWrite = file.LastWriteTime;
        recentFile = file;
    }
}
           
richTextBox1.LoadFile(recentFile.ToString(), RichTextBoxStreamType.PlainText);
此代码不起作用。它一直显示错误

错误是

System.IO.FileNotFoundException:'找不到文件'C:\Users\as\source\repos\SC\SC\bin\Debug\SystemLog\u 20201021-1204.txt'

如何解决此问题?

试试看
recentFile.FullName
而不是
recentFile.ToString()


ToString()返回FileInfo.Name,这会导致它在应用程序目录中查找文件。

您可以使用LINQ而不是loop

using System.Linq;

FileInfo recentFile = directoryInfo.GetFiles(pattern).OrderByDescending(x => x.LastWriteTime).First();
然后使用
recentFile.FullName
获取完整文件的路径(确保在使用recentFile之前选中null)