//конвертация
        public void Converts(string pathDat, string pathCsv)
        {
            try
            {
                _pathBinary = pathDat;
                _pathCsv    = pathCsv;

                Console.SetWindowSize(100, 20);

                using (BinaryReader reader = new BinaryReader(File.Open(_pathBinary, FileMode.Open), Encoding.ASCII))
                {
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter(_pathCsv))
                    {
                        var a        = ProcessMappingConvertion.GetCalculationFileSize(pathDat);
                        var b        = a / _byteToMegabyteKoef; //размер файла в Mb.
                        var sizeFile = Math.Round(b, 3);        //размер файла в Mb, округленный до третьего знака

                        Console.WriteLine($"Ждите, выполняется конвертация из бинарного файла: {_pathBinary} , размером: {sizeFile} Mb");
                        Console.WriteLine($"в файл с разделителями: {_pathCsv} ");
                        Console.WriteLine();

                        reader.BaseStream.Position = 0;

                        while (reader.PeekChar() > -1)
                        {
                            _id      = reader.ReadInt32();
                            _account = reader.ReadInt32();
                            _volume  = reader.ReadDouble();
                            _comment = reader.ReadString();

                            file.Write(_id);
                            file.Write(";");
                            file.Write(_account);
                            file.Write(";");
                            file.Write(_volume);
                            file.Write(";");
                            file.Write(_comment);
                            file.WriteLine(";");
                            _counter++;

                            //процент выполнения
                            _currentPercentage = _processMapping.GetProcessMappingInPercent();
                            DisplayPercentage(_currentPercentage);
                        }
                        Console.Write("\r");
                        Console.Write("выполнено: 100 % ");
                        Console.WriteLine("\n\n");
                        Console.Write($"в файл {pathCsv} конвертировано: {_counter} строк(и). ");
                        Console.WriteLine();

                        _counter = 0;
                    }
                }
            }
            catch (Exception m)
            {
                Console.WriteLine(m.Message);
            }
        }
Beispiel #2
0
        //создание бинарного файла
        public void Generating(string pathBinaryFiles, long quantityLine)
        {
            Console.SetWindowSize(100, 20);
            Console.WriteLine($"Ждите, выполняется запись:  {quantityLine} строк(и)  в файл: {pathBinaryFiles} ");
            Console.WriteLine();

            _pathBinaryFiles = pathBinaryFiles;
            RandomString randoomString = new RandomString();

            try
            {
                File.WriteAllText(pathBinaryFiles, null);

                using (var writer = new BinaryWriter(File.Open(pathBinaryFiles, FileMode.Append, FileAccess.Write)))
                {
                    for (int i = 0; i < quantityLine; i++)
                    {
                        TradeRecord trade = new TradeRecord(0 + i, 777, 640 + i, randoomString.GetCommentRandom());
                        writer.Write(trade.id);
                        writer.Write(trade.account);
                        writer.Write(trade.volume);
                        writer.Write(trade.comment);
                        _counter++;

                        //процента выполнения
                        _currentPercentage = _processMapping.GetProcessMappingInPercent();
                        DisplayPercentage(_currentPercentage);
                    }
                }

                Console.Write("\r");
                Console.Write("выполнено: 100 % ");
                Console.WriteLine("\n\n");
                Console.WriteLine($"в файл: {pathBinaryFiles}  записано  {_counter}  строк(и) ");
            }
            catch (Exception m)
            {
                Console.WriteLine(m.Message);
            }
            Console.ReadLine();
        }