Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
                    }
                }
        }