C# 如何从网络文件夹中获取最新文本文件
我需要从网络文件夹的最新文本文件中获取数据,并将其显示在richtextbox中 这是我的代码: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
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)