public static Path3D LoadPath3D(string fileName) { Path3D path = new Path3D(); string fileNamePath = string.Format("{0}{1}", "../../", fileName); if (File.Exists(fileNamePath)) { using (var reader = new StreamReader(fileNamePath)) { string line = reader.ReadLine(); while (line != null) { double[] coordinates = line.Split(new char[] {'{', '}', ',', ' '}, StringSplitOptions.RemoveEmptyEntries) .Select(double.Parse) .ToArray(); path.AddPoint(new Point3D(coordinates[0], coordinates[1], coordinates[2])); line = reader.ReadLine(); } } } else { Console.WriteLine("The source file not found."); path = null; } return path; }
public static void SavePath(Path3D path) { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; using (var writer = new StreamWriter("../../NewPath.txt")) { foreach (var point in path.Path) { writer.WriteLine(point); } } }
static void Main(string[] args) { Path3D myPath3D = new Path3D(new Point3D(-5, 55, 444), new Point3D(44, -5, 77), new Point3D(10, 20, 30), new Point3D(47, 74, -4)); myPath3D.AddPoint(new Point3D(21, 45, -4)); myPath3D.AddPoint(new Point3D(-5, -7, -55)); myPath3D.AddPoint(new Point3D(45, 54, 77)); Storage.SavePath(myPath3D); Path3D newPath3D = Storage.LoadPath3D("ExistPath.txt"); }