/// <summary>
        ///     获取所有文件编码
        /// </summary>
        private void InspectFileEncoding()
        {
            foreach (var temp in FaceFolder.GetFiles())
            //.Select(temp=>new EncodingScrutatorFile(temp)))//.Where(PredicateInclude))
            {
                //通知扫描到这个文件
                var file = new EncodingScrutatorFile(temp)
                {
                    //Parent = FaceFolder
                    Parent = this
                };
                Progress?.Report(file);
                File.Add(file);
                //文件是否包含
                if (!PredicateInclude(temp))
                {
                    file.Ignore = true;
                }


                if (!file.Ignore)
                {
                    new EncodingScrutator(file).InspectFileEncoding();
                }
            }
        }
        /// <summary>
        ///     输出不规范文件
        /// </summary>
        private int PintnoConformEncodingFile(EncodingScrutatorFolder encodingScrutatorFolder)
        {
            int count = 0;

            for (int i = 0; i < encodingScrutatorFolder.File.Count; i++)
            {
                EncodingScrutatorFile temp = encodingScrutatorFolder.File[i];
                if (!temp.Ignore)
                {
                    if (encodingScrutatorFolder.SitpulationEncodingSetting.ConformtotheDefaultEncoding(temp.Encoding))
                    {
                        encodingScrutatorFolder.File.RemoveAt(i);
                        i--;
                    }
                    else
                    {
                        count++;
                    }
                }
                else
                {
                    encodingScrutatorFolder.File.RemoveAt(i);
                    i--;
                }
            }

            count = PintnoConformEncodingFolder(encodingScrutatorFolder, count);
            return(count);
        }
 private void Progress_ProgressChanged(object sender, EncodingScrutatorFile e)
 {
     if (e == null)
     {
         //完成检测
         InspectCompleted?.Invoke(this, null);
     }
     else
     {
         var str = new StringBuilder();
         str.Append(e.File.Name);
         var folder = e.Parent;
         while (folder != null)
         {
             str.Insert(0, folder.Name + "\\");
             folder = folder.Parent;
         }
         str.Insert(0, "正在扫描\r\n");
         Circular = str.ToString();
     }
 }
 public EncodingScrutator(FileInfo file)
 {
     EncodingScrutatorFile = new EncodingScrutatorFile(file);
 }
 public EncodingScrutator(EncodingScrutatorFile encodingScrutatorFile)
 {
     EncodingScrutatorFile = encodingScrutatorFile;
 }