示例#1
0
文件: DirClass.cs 项目: YB9527/CG
 /// <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));
 }
示例#2
0
文件: DirClass.cs 项目: YB9527/CG
        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("");
        }
示例#3
0
文件: DirClass.cs 项目: YB9527/CG
        /// <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]);
            }
        }
示例#4
0
文件: FileUtils.cs 项目: YB9527/CG
        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);
        }
示例#5
0
        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--;
                }
            }
        }
示例#6
0
文件: FileUtils.cs 项目: YB9527/CG
        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--;
                }
            }
        }
示例#7
0
        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);
        }
示例#8
0
文件: FileUtils.cs 项目: YB9527/CG
        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);
        }
示例#9
0
        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);
        }
示例#10
0
文件: DirClass.cs 项目: YB9527/CG
        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);
        }
示例#11
0
文件: FileUtils.cs 项目: YB9527/CG
        /// <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);
        }
示例#12
0
文件: FileUtils.cs 项目: YB9527/CG
        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));
        }
示例#13
0
        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);
        }