static public void Read(string txtFileName) { if (File.Exists(txtFileName)) { try { FileStream stream = new FileStream(txtFileName, FileMode.Open, FileAccess.Read); StreamReader reader = new StreamReader(stream, System.Text.Encoding.Unicode); ImpactCrater crater = new ImpactCrater(); if (crater != null) { crater.Name = reader.ReadLine(); crater.Location = reader.ReadLine(); crater.Latitude = reader.ReadLine(); crater.Longitude = reader.ReadLine(); crater.Diameter = reader.ReadLine(); crater.Age = reader.ReadLine(); crater.Exposed = reader.ReadLine(); crater.Drilled = reader.ReadLine(); crater.TargetRock = reader.ReadLine(); crater.BolideType = reader.ReadLine(); string line = null; for (;;) { if ((line = reader.ReadLine()) != null) { crater.AddReferences(line); } else { break; } } ImpactCraters.Add(crater); } reader.Close(); stream.Close(); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } } }
static private ImpactCrater AssignFromString(string line) { ImpactCrater crater = new ImpactCrater(); char [] delimiterChars = { '\t' }; string [] strings = line.Split(delimiterChars); string [] classes = { "Confirmed", "Most Probable", "Probable", "Possible", "Improbable", "Rejected", "Proposed" }; crater.Class = classes [int.Parse(strings [0]) + 1]; crater.InheritedClass = AssignString(strings [1]); crater.StructureName = AssignString(strings [2]); crater.CraterField = AssignString(strings [3]); crater.Region = AssignString(strings [4]); crater.Country = AssignString(strings [5]); crater.Continent = AssignString(strings [6]); crater.Latitude = AssignString(strings [7]); crater.Longitude = AssignString(strings [8]); crater.Diameter.FinalRim = AssignString(strings [9]); crater.Diameter.PresentDay = AssignString(strings [10]); crater.Diameter.OuterLimitOfDeformation = AssignString(strings [11]); crater.Diameter.Diameter = AssignString(strings [12]); crater.Diameter.SQL = AssignString(strings [13]); crater.Ages.Age = AssignString(strings [14]); crater.Ages.Youngest = AssignString(strings [15]); crater.Ages.Best = AssignString(strings [16]); crater.Ages.Oldest = AssignString(strings [17]); crater.Ages.Uncertain = AssignString(strings [18]); crater.Ages.UncertainType = AssignString(strings [19]); crater.Overburden = AssignString(strings [20]); crater.PresentWaterDepth = AssignString(strings [21]); crater.Drilled = AssignString(strings [22]); crater.Target = AssignString(strings [23]); crater.TargetWaterDepth = AssignString(strings [24]); crater.Impactor = AssignString(strings [25]); crater.UpdatedOn = AssignString(strings [26]); crater.CompiledBy = AssignString(strings [27]); ImpactCraters.Add(crater); crater.AddReferences(strings [28]); return(crater); }