/// <summary>
/// 获取所有文件
/// </summary>
/// mark 代表需要壓縮的文件類型*.*代表所有文件
/// <returns></returns>
public static Dictionary<string, DateTime> GetAllFies(string dir,string mark)
{
Dictionary<string, DateTime> FilesList = new Dictionary<string, DateTime>();
DirectoryInfo fileDire = new DirectoryInfo(dir);
if (!fileDire.Exists)
{
throw new System.IO.FileNotFoundException("目录:" + fileDire.FullName + "没有找到!");
}
GetAllDirFiles(fileDire, FilesList, mark);
GetAllDirsFiles(fileDire.GetDirectories(), FilesList, mark);
return FilesList;
}
/// <summary>
/// 获取一个文件夹下的所有文件夹里的文件
/// </summary>
/// <param name="dirs"></param>
/// mark 代表需要壓縮的文件類型*.*代表所有文件
/// <param name="filesList"></param>
public static void GetAllDirsFiles(DirectoryInfo[] dirs, Dictionary<string, DateTime> filesList, string mark)
{
foreach (DirectoryInfo dir in dirs)
{
foreach (FileInfo file in dir.GetFiles(mark))
{
filesList.Add(file.FullName, file.LastWriteTime);
}
GetAllDirsFiles(dir.GetDirectories(), filesList, mark);
}
}
/// <summary>
/// 获取一个文件夹下的文件
/// </summary>
/// mark 代表需要壓縮的文件類型*.*代表所有文件
/// <param name="dir">目录名称</param>
/// <param name="filesList">文件列表HastTable</param>
public static void GetAllDirFiles(DirectoryInfo dir, Dictionary<string, DateTime> filesList, string mark)
{
foreach (FileInfo file in dir.GetFiles(mark))
{
filesList.Add(file.FullName, file.LastWriteTime);
}
}