/// <summary> /// 查的所有 与compre 有关系文件 /// </summary> /// <param name="compare"></param> /// <param name="relation">关系</param> /// <returns></returns> public IList <string> FindCurrentDirALL(string compare, FileSelectRelation relation) { if (Utils.IsStrNull(compare)) { return(null); } return(SelectFile(compare, relation, this.Files)); }
public string FindFileAllSelectOne(string compare, FileSelectRelation relation) { IList <string> fileAll = this.FindFileAll(); IList <string> select = SelectFile(compare, relation, Utils.ListToArray(fileAll)); if (select.Count > 0) { return(select[0]); } return(""); }
/// <summary> /// 返回 与compre 有关系文件 中第一个文件 /// </summary> /// <param name="compare"></param> /// <param name="relation"></param> /// <returns></returns> public string FindFileOne(string compare, FileSelectRelation relation) { IList <string> list = FindCurrentDirALL(compare, relation); if (list == null || list.Count == 0) { return(""); } else { return(list[0]); } }
private bool CheckFile(string fileName, IList <string> filters, FileSelectRelation relation) { int index = fileName.LastIndexOf("\\") + 1; fileName = fileName.Substring(index, fileName.Length - index); foreach (String fileterName in filters) { if (CheckFile(fileName, fileterName, relation)) { return(true); } } return(false); }
internal void RomveExcept(IList <string> list, IList <string> filters, FileSelectRelation relation) { int num = list.Count; for (int i = 0; i < num; i++) { string fileName = list[i]; if (!this.CheckFile(fileName, filters, relation)) { list.RemoveAt(i); i--; num--; } } }
public void RomveExcept(IList <string> list, IList <string> filters, FileSelectRelation relation) { int length = list.Count; string fileName; for (int a = 0; a < length; a++) { fileName = list[a]; if (!CheckFile(fileName, filters, relation)) { list.RemoveAt(a); a--; length--; } } }
private bool CheckFile(string compareName, string filterName, FileSelectRelation relation) { bool result; switch (relation) { case FileSelectRelation.StartsWith: if (compareName.StartsWith(filterName)) { result = true; return(result); } break; case FileSelectRelation.EndsWith: if (compareName.EndsWith(filterName)) { result = true; return(result); } break; case FileSelectRelation.Contains: if (compareName.Contains(filterName)) { result = true; return(result); } break; case FileSelectRelation.Equals: if (compareName.Equals(filterName)) { result = true; return(result); } break; case FileSelectRelation.All: result = true; return(result); } result = false; return(result); }
public static IList <string> SelectDirs(string dirRoot, FileSelectRelation relation = FileSelectRelation.All, bool level = false) { IList <string> list = SeleFileDir(dirRoot, level); if (list.Count == 0) { return(list); } switch (relation) { case FileSelectRelation.All: return(list); case FileSelectRelation.Contains: return(DirContains(list)); } return(null); }
private bool CheckFile(string fileName, IList <string> filters, FileSelectRelation relation) { int num = fileName.LastIndexOf("\\") + 1; fileName = fileName.Substring(num, fileName.Length - num); bool result; foreach (string current in filters) { if (this.CheckFile(fileName, current, relation)) { result = true; return(result); } } result = false; return(result); }
private IList <string> SelectFile(string compare, FileSelectRelation relation, string[] files) { IList <string> paths = new List <string>(); string fileName = ""; compare = compare.ToLower(); foreach (string filePath in files) { fileName = Path.GetFileName(filePath).ToLower(); switch (relation) { case FileSelectRelation.Contains: if (fileName.Contains(compare)) { paths.Add(filePath); } break; case FileSelectRelation.EndsWith: if (fileName.EndsWith(compare)) { paths.Add(filePath); } break; case FileSelectRelation.Equals: if (fileName.Equals(compare)) { paths.Add(filePath); } break; case FileSelectRelation.StartsWith: if (fileName.StartsWith(compare)) { paths.Add(filePath); } break; } } return(paths); }
/// <summary> /// 查找符合要求的文件 /// </summary> /// <param name="filterName"></param> /// <param name="dirName"></param> /// <param name="list"></param> /// <param name="relation"></param> /// <param name="level"></param> /// <returns></returns> public static IList <String> SelectAfterDirFiles(String filterName, String dirName, IList <String> list, FileSelectRelation relation, bool level) { //循环查找,如果有文件夹再深入 String[] fileArray = Directory.GetFiles(dirName); String compareName; foreach (String str in fileArray) { compareName = str.Substring(str.LastIndexOf("\\")).Replace("\\", ""); switch (relation) { case FileSelectRelation.StartsWith: if (compareName.StartsWith(filterName)) { list.Add(str); } break; case FileSelectRelation.EndsWith: if (compareName.EndsWith(filterName)) { list.Add(str); } break; case FileSelectRelation.Contains: if (compareName.Contains(filterName)) { list.Add(str); } break; case FileSelectRelation.Equals: if (compareName.Equals(filterName)) { list.Add(str); } break; case FileSelectRelation.All: list.Add(str); break; default: break; } } if (level == false) { String[] dirArray = Directory.GetDirectories(dirName); foreach (String fileName in dirArray) { if (Directory.Exists(fileName)) { SelectAfterDirFiles(filterName, fileName, list, relation, level); } } } return(list); }
public static IList <String> SelectAllDirFiles(String dirName, String filterName, FileSelectRelation relation, bool level) { IList <String> list = new List <String>(); return(SelectAfterDirFiles(filterName, dirName, list, relation, level)); }
public static IList <string> SelectAfterDirFiles(string filterName, string dirName, IList <string> list, FileSelectRelation relation, bool level) { string[] files = Directory.GetFiles(dirName); string[] array = files; for (int i = 0; i < array.Length; i++) { string text = array[i]; string text2 = text.Substring(text.LastIndexOf("\\")).Replace("\\", ""); switch (relation) { case FileSelectRelation.StartsWith: if (text2.StartsWith(filterName)) { list.Add(text); } break; case FileSelectRelation.EndsWith: if (text2.EndsWith(filterName)) { list.Add(text); } break; case FileSelectRelation.Contains: if (text2.Contains(filterName)) { list.Add(text); } break; case FileSelectRelation.Equals: if (text2.Equals(filterName)) { list.Add(text); } break; case FileSelectRelation.All: list.Add(text); break; } } if (!level) { string[] directories = Directory.GetDirectories(dirName); array = directories; for (int i = 0; i < array.Length; i++) { string text3 = array[i]; if (Directory.Exists(text3)) { FileUtils.SelectAfterDirFiles(filterName, text3, list, relation, level); } } } return(list); }