示例#1
0
        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);
                }
            }
        }
示例#2
0
        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)}");
            }
        }