IO/FileSearcher.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Reflection;


namespace ComLib.IO
{

    /// <summary>
    /// Search for directories and files using a pattern.
    /// </summary>
    public class FileSearcher
    {
        private Action<FileInfo> _fileHandler;
        private Action<DirectoryInfo> _directoryHandler = null;
        private string _directoryPattern = "**";
        private string _filePattern = "**";
        private string _pattern = "**/**";
        private bool _handleFiles = true;


        /// <summary>
        /// Initialize with file handler
        /// </summary>
        /// <param name="directoryHandler">Handler for each directory.</param>
        /// <param name="fileHandler">Handler for each file.</param>
        /// <param name="handleFiles">Flag indicating to handle files.</param>
        /// <param name="pattern">Search pattern for directories files.
        /// e.g. **/**.</param>
        public FileSearcher(Action<FileInfo> fileHandler, Action<DirectoryInfo> directoryHandler, 
            string pattern, bool handleFiles)
        {
            _pattern = pattern;
            _fileHandler = fileHandler;
            _handleFiles = handleFiles;
            Init();
        }


        /// <summary>
        /// Initialize directory and file pattern.
        /// </summary>
        public void Init()
        {
            // Determine directory pattern and file pattern.
            if (!string.IsNullOrEmpty(_pattern))
            {
                int ndxSlash = _pattern.IndexOf("/");
                if (ndxSlash < 0)
                    ndxSlash = _pattern.IndexOf("\\");

                _directoryPattern = _pattern.Substring(0, ndxSlash);
                _filePattern = _pattern.Substring(ndxSlash + 1);
            }
        }

        
后面还有 50 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。