请问如何实现winfrom 获取服务器指定路径下的所有文件的名称和修改时间,并与本地文件做对比,如果服务器文件为最新的即下载覆盖本地文件
/// <summary>
/// 获取文件夹下所有的文件
/// </summary>
/// <author>wblirh 2022-11-11</author>
/// <param name="path"></param>
/// <returns></returns>
public static FileInfo[] GetAllFiles(string path)
{
try
{
var files = new List<FileInfo>();
files.AddRange(new DirectoryInfo(path).GetFiles());//获取文件夹下所有文件
var tmpdics = new DirectoryInfo(path).GetDirectories();//获取文件夹下所有子文件夹
foreach (var dic in tmpdics)
{
files.AddRange(GetAllFiles(dic.FullName));//递归获取文件
}
return files.ToArray();
}
catch (Exception)
{
return null;
}
}
var files = GetAllFiles(@"服务器路径");
var LocaFile= GetAllFiles(@"本地路径");
//遍历服务器文件
foreach (var fileInfo in files)
{
var FileName = fileInfo.FullName.IndexOf(@"D:\BackPDF\");
var str = fileInfo.Name;
//再遍历本地文件 两个对比进行判断如果是最新的就调用 io文件流里面的方法 覆盖掉
}
/
正常做法都是使用配置判断
在服务器存放一个配置文件,里面记录该应用所需要下载的所有文件以及文件的md5值
第一次下载时在本地会保存一份配置
之后读取服务器配置文件,对比本地配置和服务器配置的md5值。
使用md5作为Key,路径作为value。存储到字典中
对比md5如果没有则下载
对比完成后记得把服务器配置覆盖到本地配置
https://blog.csdn.net/weixin_34577766/article/details/119484260
看这个