private static Hashtable getAllFies(string filesdirectorypath, out int dirnamelength) { Hashtable hashtables = new Hashtable(); DirectoryInfo directoryInfo = new DirectoryInfo(filesdirectorypath); if (!directoryInfo.Exists) { throw new FileNotFoundException(string.Concat("目录:", directoryInfo.FullName, "没有找到!")); } dirnamelength = directoryInfo.Name.Length; FileOperate.getAllDirFiles(directoryInfo, hashtables); FileOperate.getAllDirsFiles(directoryInfo.GetDirectories(), hashtables); return(hashtables); }
private static void getAllDirsFiles(DirectoryInfo[] dirs, Hashtable filesList) { DirectoryInfo[] directoryInfoArray = dirs; for (int i = 0; i < (int)directoryInfoArray.Length; i++) { DirectoryInfo directoryInfo = directoryInfoArray[i]; FileInfo[] files = directoryInfo.GetFiles("*.*"); for (int j = 0; j < (int)files.Length; j++) { FileInfo fileInfo = files[j]; filesList.Add(fileInfo.FullName, fileInfo.LastWriteTime); } FileOperate.getAllDirsFiles(directoryInfo.GetDirectories(), filesList); } }