| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using System.IO.Compression;
- namespace Common
- {
- public class FileHelper
- {
- /// <summary>
- /// 解压zip文件
- /// </summary>
- /// <param name="zipPath">zip文件路径</param>
- /// <param name="extractPath">解压到的目标路径</param>
- /// <param name="overwrite">是否覆盖已存在的文件,默认覆盖</param>
- 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<string> GetSystemFiles(string directoryInfo)
- {
- List<string> SystemFiles = new List<string>();
- directoryInfo = Function.getPath(directoryInfo);
- System.IO.FileSystemInfo info = new System.IO.DirectoryInfo(directoryInfo);
- scan(SystemFiles, info);
- return SystemFiles;
- }
- private static void scan(List<string> 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]);
- }
- }
- }
- }
|