public static void Main() { string path = @"..\..\..\..\MyTest.txt"; int N = Convert.ToInt32(Console.ReadLine()); // Количество создаваемых объектов (число строк в файле) // TODO: Определить значение N List <ColorPoint> list = new List <ColorPoint>(); ColorPoint one; for (int i = 0; i < N; i++) { one = new ColorPoint(); one.x = gen.NextDouble(); one.y = gen.NextDouble(); int j = gen.Next(0, ColorPoint.colors.Length); one.color = ColorPoint.colors[j]; list.Add(one); } string[] arrData = Array.ConvertAll(list.ToArray(), (ColorPoint cp) => cp.ToString()); // Запись массива стpок в текстовый файл: using (BinaryWriter writer = new BinaryWriter(File.Open(path, FileMode.OpenOrCreate))) { foreach (var item in list) { writer.Write(item.color); writer.Write(item.x); writer.Write(item.y); } } using (BinaryReader reader = new BinaryReader(File.Open(path, FileMode.OpenOrCreate))) { while (reader.BaseStream.Position < reader.BaseStream.Length) { one = new ColorPoint(); one.color = reader.ReadString(); one.x = reader.ReadDouble(); one.y = reader.ReadDouble(); Console.WriteLine(one); } } }
public static void Main() { string path = @"..\..\..\..\MyTest.txt"; int N = 3; // Количество создаваемых объектов (число строк в файле) // TODO: Определить значение N List <ColorPoint> list = new List <ColorPoint>(); ColorPoint one; for (int i = 0; i < N; i++) { one = new ColorPoint(); one.x = gen.NextDouble(); one.y = gen.NextDouble(); int j = gen.Next(0, ColorPoint.colors.Length); one.color = ColorPoint.colors[j]; list.Add(one); } string[] arrData = Array.ConvertAll(list.ToArray(), (ColorPoint cp) => cp.ToString()); // Запись массива стpок в текстовый файл: //File.WriteAllLines(path, arrData); using (var fs = new FileStream(path, FileMode.Create)) { foreach (var str in arrData) { foreach (var arr in str.Select(BitConverter.GetBytes)) { fs.Write(arr); } } } Console.WriteLine("Записаны {0} строк в текстовый файл: \n{1}", N, path); using (var fs = File.OpenRead(path)) { var arrBytes = new byte[fs.Length]; fs.Read(arrBytes, 0, arrBytes.Length); Console.WriteLine($"Текст: \n{System.Text.Encoding.Default.GetString(arrBytes)}"); } }