internal static RawMMEFile ReadInformationFile(string filePath, bool readValues = false, MMEReadConfiguration config = null) { // TODO: refactor this function! if (config == null) { config = new MMEReadConfiguration(); } RawMMEFile rawMMEData = new RawMMEFile() { AdditionalComments = new List <string>(), Attributes = new List <MMEAttribute>(), Values = new List <double>(), }; using (StreamReader reader = new StreamReader(filePath, config.FileEncoding, config.DetectByteOrderMask)) { string uninterpretedLine = ""; while (!reader.EndOfStream) { uninterpretedLine = ReadAttribute(rawMMEData, reader); if (uninterpretedLine.Length > 0) { break; } } if (uninterpretedLine.Length > 0 && readValues) { ReadMMEValue(rawMMEData, uninterpretedLine, config); while (!reader.EndOfStream) { ReadMMEValue(rawMMEData, reader.ReadLine(), config); } } } return(rawMMEData); }
private static void ReadMMEValue(RawMMEFile rawMMEData, string valueLine, MMEReadConfiguration config) { double parsedValue = ParseMMEValue(valueLine, config.InvariantNumberFormatInfo, config.MMENumberStyle); rawMMEData.Values.Add(parsedValue); }