using System; using System.Collections.Generic; using System.IO; using System.Linq; using Y.Utils.BaseUtils; namespace Y.Utils.FileUtils { public class FileTool { public static List GetFile(string path, string pattern = "*") { if (Directory.Exists(path)) try { List result = Directory.EnumerateFiles(path, pattern).ToList(); return result; } catch (Exception e) { } return null; } public static List GetAllFile(string path, string pattern = "*") { List result = null; try { result = Directory.EnumerateFiles(path, pattern, SearchOption.AllDirectories).ToList(); } catch (Exception e) { } return result; } public static List GetAllFile(string path, string[] pattern) { List result = new List(); if (!ListTool.IsNullOrEmpty(pattern)) { foreach (var p in pattern) { List temp = GetAllFile(path, p).ToList(); if (!ListTool.IsNullOrEmpty(temp)) result.AddRange(temp); } } return result; } public static List GetAllFile(string[] paths, string[] patterns) { List result = new List(); if (!ListTool.IsNullOrEmpty(paths)) { foreach(var path in paths) { if (!ListTool.IsNullOrEmpty(patterns)) { foreach (var pattern in patterns) { List temp = GetAllFile(path, pattern).ToList(); if (!ListTool.IsNullOrEmpty(temp)) result.AddRange(temp); } }else { List temp = GetAllFile(path).ToList(); if (!ListTool.IsNullOrEmpty(temp)) result.AddRange(temp); } } } return result; } public static bool Delete(string file) { try { if (File.Exists(file)) { File.Delete(file); return true; } else { return true; } } catch { } return false; } public static bool Delete(string[] files) { bool result = true; if (!ListTool.IsNullOrEmpty(files)) { foreach (var file in files) { result = result || Delete(file); } } return result; } } }