/// <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; }