public string GetFile() { var currentFile = string.Empty; if (!System.IO.Directory.Exists(Folder)) { Console.WriteLine("不存在文件夹:" + Folder); return(currentFile); } var files = DialogClass.GetSpecialFiles(Folder, Filter); if (files.Count == 0) { Console.WriteLine(string.Format("文件夹:{0}下不存在{1}的文件", Folder, Filter)); return(currentFile); } foreach (var item in files) { var info = new FileInfo(item); var name = info.Name.Replace("(", "(").Replace(")", ")"); if (Regex.IsMatch(name, RegexString)) { currentFile = item; break; } } return(currentFile); }
public void Program() { //路径核对 if (!CheckFolder()) { Dispose(); return; } var resultComplete = new ResultComplete(_folder) { Children = XmlManager.Get("/Folders/Folder", "Name", XmlEnum.DataTree) }; //数据完整性 resultComplete.Check(); //核对质检数据文件夹下面的文件夹是否存在 _messages.AddRange(resultComplete.Messages); _folderTool.AddRange(resultComplete.ExistPath.Select(e => new FileFolder() { Folder = e, FileNames = XmlManager.GetChildren(string.Format("/Folders/Folder[@Name='{0}']", new DirectoryInfo(e).Name), "Name", XmlEnum.DataTree), //ReportPath=ReportPath, CityName = _cityName, Code = _cityCode })); foreach (var tool in _folderTool) { tool.Check();//核对每个文件夹下面的文件是否存在 是否能够打开 } var path = System.IO.Path.Combine(_folder, DataBase); if (System.IO.Directory.Exists(path)) { var mdbfiles = DialogClass.GetSpecialFiles(path, "*.mdb");//获取空间数据的mdb文件 if (mdbfiles.Count == 0) { _messages.Add("空间数据库文件夹下未找到相关*.mdb文件"); } else { var currentMdbFile = string.Empty; foreach (var item in mdbfiles) { var info = new FileInfo(item); if (Regex.IsMatch(info.Name, @"^[\u4e00-\u9fa5]+\(\d{6}\)农村存量建设用地调查成功空间数据库.mdb$")) { currentMdbFile = item; break; } } if (string.IsNullOrEmpty(currentMdbFile)) { _messages.Add(string.Format("未找到空间数据库文件")); } else { TableHeart.Program(currentMdbFile, IDS); var gisheart = new ArcGISHeart() { MDBFilePath = currentMdbFile, FeatureClassNames = XmlClass.GetRequireTables() }; gisheart.Program(); } } } else { _messages.Add("不存在文件夹路径" + path + ",故无法进行空间数据库核查"); } Dispose(); }