private List <LogFileInfo> GetLogFiles(USeProductManager productManager) { DirectoryInfo klineDir = new DirectoryInfo(m_kLineFolder); string searchParten = ""; if (m_cycle == USeCycleType.Day) { searchParten = "1day-*.csv"; } else if (m_cycle == USeCycleType.Min1) { searchParten = "1min-*.csv"; } else { throw new NotSupportedException(string.Format("未知的周期类型文件:{0}", m_cycle)); } FileInfo[] klineFiles = klineDir.GetFiles(searchParten); List <LogFileInfo> logFileList = new List <LogFileInfo>(); foreach (FileInfo fileItem in klineFiles) { //if (fileItem.Name.StartsWith("1min-cu1707") || fileItem.Name.StartsWith("1day-cu1707")) { LogFileInfo logFileInfo = LogFileInfo.ParseLogFile(fileItem, productManager); logFileList.Add(logFileInfo); } } return(logFileList); }
public override bool Run() { USeProductManager varietiesManager = CreateVarietiesManager(); DirectoryInfo klineDir = new DirectoryInfo(m_kLineFolder); FileInfo[] klineFiles = klineDir.GetFiles("1min-*.csv"); List <LogFileInfo> logFileList = new List <LogFileInfo>(); foreach (FileInfo fileItem in klineFiles) { //if (fileItem.Name.StartsWith("1min") || fileItem.Name.StartsWith("1day")) //if (fileItem.Name.StartsWith("1min-cu1707"))// || fileItem.Name.StartsWith("1day")) { LogFileInfo logFileInfo = LogFileInfo.ParseLogFile(fileItem, varietiesManager); logFileList.Add(logFileInfo); } } if (logFileList.Count < 0) { string text = "无可导入文件"; m_eventLogger.WriteInformation(text); USeConsole.WriteLine(text); return(true); } int index = 0; foreach (LogFileInfo file in logFileList) { index++; try { ClosePrice2Importer importer = new ClosePrice2Importer(file); List <ClosePrice2Entity> closePriceList = importer.ParseClosePrice2(); string text = string.Format("解析{0}.{1}午盘数据完成,共计{2}条", importer.InstrumentCode, importer.Market, closePriceList.Count); USeConsole.WriteLine(text); Stopwatch stopWathch = new Stopwatch(); stopWathch.Start(); SaveClosePrice2Data(importer.Market, closePriceList); stopWathch.Stop(); long useSecondes = stopWathch.ElapsedMilliseconds / 1000; USeConsole.WriteLine(string.Format("导入{0}.{1}午盘数据完成,共计{2}条,耗时{3}秒,平均速度{4}/秒,Finish{5}/{6}", importer.InstrumentCode, importer.Market, closePriceList.Count, useSecondes, useSecondes > 0 ? closePriceList.Count / useSecondes : 0, index, logFileList.Count)); } catch (Exception ex) { string text = string.Format("导入数据失败,文件路径:{0},错误:{1}", file.FileInfo.FullName, ex.Message); m_eventLogger.WriteInformation(text); USeConsole.WriteLine(text); } } return(true); }