/// <summary> /// 递归一个目录所有文件,callback /// </summary> /// <param name="dirPath"></param> /// <param name="eachCallback"></param> public static void EachDirectoryFiles(string dirPath, EachDirectoryDelegate eachCallback) { foreach (var filePath in Directory.GetFiles(dirPath, "*", SearchOption.AllDirectories)) { var fileRelativePath = filePath.Replace(dirPath, ""); if (fileRelativePath.StartsWith("/") || fileRelativePath.StartsWith("\\")) { fileRelativePath = fileRelativePath.Substring(1, fileRelativePath.Length - 1); } var cleanFilePath = filePath.Replace("\\", "/"); fileRelativePath = fileRelativePath.Replace("\\", "/"); eachCallback(cleanFilePath, fileRelativePath); } }
/// <summary> /// 递归一个目录所有文件,callback /// </summary> /// <param name="dirPath"></param> /// <param name="eachCallback"></param> public static void EachDirectoryFiles(string dirPath, EachDirectoryDelegate eachCallback) { foreach (var filePath in Directory.GetFiles(dirPath, "*", SearchOption.AllDirectories)) { var fileRelativePath = filePath.Replace(dirPath, ""); if (fileRelativePath.StartsWith("/") || fileRelativePath.StartsWith("\\")) fileRelativePath = fileRelativePath.Substring(1, fileRelativePath.Length - 1); var cleanFilePath = filePath.Replace("\\", "/"); fileRelativePath = fileRelativePath.Replace("\\", "/"); eachCallback(cleanFilePath, fileRelativePath); } }