using System.IO.Compression; namespace Common { public class FileHelper { /// /// 解压zip文件 /// /// zip文件路径 /// 解压到的目标路径 /// 是否覆盖已存在的文件,默认覆盖 public static bool ExtractZip(string zipPath, string extractPath, bool overwrite = true) { try { zipPath = Function.getPath(zipPath); extractPath = Function.getPath(extractPath); ZipFile.ExtractToDirectory(zipPath, extractPath, overwrite); return true; } catch(Exception ex) { Utils.WriteLog(ex.ToString(), "FileHelper-ExtractZip"); return false; } } public static List GetSystemFiles(string directoryInfo) { List SystemFiles = new List(); directoryInfo = Function.getPath(directoryInfo); System.IO.FileSystemInfo info = new System.IO.DirectoryInfo(directoryInfo); scan(SystemFiles, info); return SystemFiles; } private static void scan(List SystemFiles, System.IO.FileSystemInfo info) { if (!info.Exists) return; System.IO.DirectoryInfo dir = info as System.IO.DirectoryInfo; //不是目录 if (dir == null) return; System.IO.FileSystemInfo[] files = dir.GetFileSystemInfos(); for (int i = 0; i < files.Length; i++) { System.IO.FileInfo file = files[i] as System.IO.FileInfo; //是文件 if (file != null) { SystemFiles.Add(file.FullName); } else scan(SystemFiles, files[i]); } } } }