private List <RatioSet> GetRatios(string colName) { var ratios = new List <RatioSet>(); var di = new DirectoryInfo(PathToSolution + PathToDocuments); var files = di.GetFiles("*.txt"); foreach (var file in files) { int id = -1; var encoding = GeneratorHelper.GetEncodingType(file.FullName); using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read)) using (var sr = new StreamReader(fs, encoding)) { while (!sr.EndOfStream) { var line = sr.ReadLine(); if (line != null) { if (line.Contains(LineKey)) { var textLines = line.Split('\t'); for (int i = 0; i < textLines.Length; i++) { if (textLines[i] == colName) { id = i; break; } } } else if (id != -1) { var textLines = line.Split('\t'); try { if (textLines[0].Length == 10 && !string.IsNullOrEmpty(textLines[id])) { ratios.Add(new RatioSet { DateTime = Convert.ToDateTime(textLines[0]), Ratio = Convert.ToDouble(textLines[id]) }); } } catch (Exception exception) { throw; } } } } } } return(ratios); }
public static void ReadByLine(FileInfo fileInfo, LineExplorerDelegete delegete) { var encoding = GeneratorHelper.GetEncodingType(fileInfo.FullName); using (var fs = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read)) using (var sr = new StreamReader(fs, encoding)) { while (!sr.EndOfStream) { var line = sr.ReadLine(); delegete(line); } } }