Example #1
0
        public void writetobinaryfile(train stream)
        {
            RijndaelManaged rijmanaged = new RijndaelManaged();

            byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
            byte[] iv  = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };

            using (Stream str = File.Create("myfile.bin"))
            {
                using (var ds = new DeflateStream(str, CompressionMode.Compress))
                {
                    using (var crypto = new CryptoStream(ds, rijmanaged.CreateEncryptor(key, iv),
                                                         CryptoStreamMode.Write))
                    {
                        using (var bw = new BinaryWriter(crypto))
                        {
                            bw.Write(stream.number);
                            bw.Write(stream.number_carriages);
                            foreach (var c in stream)
                            {
                                bw.Write(c.number);
                                bw.Write(c.number_coupes);
                                foreach (var s in c)
                                {
                                    bw.Write(s.number);
                                    bw.Write(s.number_passenger);
                                }
                            }
                        }
                        crypto.Close();
                    }
                }
            }
        }
Example #2
0
        public void SerializeWithDataContract(train _train)
        {
            var ds = new DataContractSerializer(typeof(train));

            using (Stream s = File.Create("D:\\serialize.xml"))
                ds.WriteObject(s, _train);
        }
Example #3
0
        public void SerialezeObject(train obj)
        {
            var formatter = new BinaryFormatter();

            using (Stream s = File.Create("train.dat"))
                formatter.Serialize(s, obj);
        }
Example #4
0
        public train DeserializeWithDataContract()
        {
            train _train = new train();
            var   ds     = new DataContractSerializer(typeof(train));

            using (Stream s = File.OpenRead("D:\\serialize.xml"))
                _train = (train)ds.ReadObject(s);
            return(_train);
        }
Example #5
0
        public train DeserialezeObject()
        {
            train _train    = new train();
            var   formatter = new BinaryFormatter();

            using (Stream s = File.OpenRead("train.dat"))
            {
                _train = (train)formatter.Deserialize(s);
            }
            return(_train);
        }
Example #6
0
        static void Main(string[] args)
        {
            coupe coupe1 = new coupe(1, 4);
            coupe coupe2 = new coupe(2, 3);
            coupe coupe3 = new coupe(3, 3);
            coupe coupe4 = new coupe(4, 4);
            coupe coupe5 = new coupe(5, 2);

            carriage carriage = new carriage(1, 5);

            carriage.add(coupe1);
            carriage.add(coupe2);
            carriage.add(coupe3);
            carriage.add(coupe4);
            carriage.add(coupe5);

            carriage carriage1 = new carriage(1, 1);

            carriage1.add(coupe1);

            carriage carriage2 = new carriage(2, 2);

            carriage2.add(coupe1);
            carriage2.add(coupe5);

            carriage carriage3 = new carriage(3, 3);

            carriage3.add(coupe1);
            carriage3.add(coupe3);
            carriage3.add(coupe4);

            train train = new train(1, 4);

            train.add(carriage);
            train.add(carriage1);
            train.add(carriage2);
            train.add(carriage3);

            Workwithfiles f = new Workwithfiles();
            train         b = f.readfrombinaryfile(train);

            foreach (coupe c in carriage)
            {
                Console.WriteLine(c.Number.ToString() + "вагон, кол. пассажиров=" + c.Number_passenger.ToString());
            }
            Console.ReadLine();
        }
Example #7
0
        static void Main(string[] args)
        {
            coupe coupe1 = new coupe(1, 4);
            coupe coupe2 = new coupe(2, 3);
            coupe coupe3 = new coupe(3, 3);
            coupe coupe4 = new coupe(4, 4);
            coupe coupe5 = new coupe(5, 2);

            carriage carriage = new carriage(1, 5);

            carriage.add(coupe1);
            carriage.add(coupe2);
            carriage.add(coupe3);
            carriage.add(coupe4);
            carriage.add(coupe5);

            carriage carriage1 = new carriage(1, 1);

            carriage1.add(coupe1);

            carriage carriage2 = new carriage(2, 2);

            carriage2.add(coupe1);
            carriage2.add(coupe5);

            carriage carriage3 = new carriage(3, 3);

            carriage3.add(coupe1);
            carriage3.add(coupe3);
            carriage3.add(coupe4);

            train train = new train();

            train.add(carriage);
            train.add(carriage1);
            train.add(carriage2);
            train.add(carriage3);

            Serialize s = new Serialize();

            s.SerializeWithDataContract(train);

            train _train = new train();

            _train = s.DeserializeWithDataContract();
        }
Example #8
0
        public train readfromfile(train stream)
        {
            RijndaelManaged rijmanaged = new RijndaelManaged();

            byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
            byte[] iv  = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };


            using (Stream f = File.OpenRead("D:\\file.txt"))
            {
                using (var ds = new DeflateStream(f, CompressionMode.Decompress))
                {
                    using (var crypto = new CryptoStream(ds, rijmanaged.CreateDecryptor(key, iv),
                                                         CryptoStreamMode.Read))
                    {
                        using (TextReader bw = new StreamReader(crypto))
                        {
                            stream.number           = int.Parse(bw.ReadLine());
                            stream.number_carriages = int.Parse(bw.ReadLine());
                            for (int i = 0; i < stream.number_carriages; i++)
                            {
                                int number, number_coupes;
                                number        = int.Parse(bw.ReadLine());
                                number_coupes = int.Parse(bw.ReadLine());
                                carriage newcar = new carriage(number, number_coupes);
                                for (int j = 0; j < newcar.number_coupes; j++)
                                {
                                    int numberof, number_passenger;
                                    numberof         = int.Parse(bw.ReadLine());
                                    number_passenger = int.Parse(bw.ReadLine());
                                    coupe newcoupe = new coupe(numberof, number_passenger);
                                    newcar.add(newcoupe);
                                }
                                stream.add(newcar);
                            }
                        }
                    }
                }
            }
            return(stream);
        }
Example #9
0
        public train readfrombinaryfile(train stream)
        {
            RijndaelManaged rijmanaged = new RijndaelManaged();

            byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
            byte[] iv  = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };

            using (Stream str = File.OpenRead("myfile.bin"))
            {
                using (var ds = new DeflateStream(str, CompressionMode.Decompress))
                {
                    using (var crypto = new CryptoStream(ds, rijmanaged.CreateDecryptor(key, iv),
                                                         CryptoStreamMode.Read))
                    {
                        using (var f = new BinaryReader(crypto))
                        {
                            stream.number           = f.ReadInt32();
                            stream.number_carriages = f.ReadInt32();
                            for (int i = 0; i < stream.number_carriages; i++)
                            {
                                int number, number_coupes;
                                number        = f.ReadInt32();
                                number_coupes = f.ReadInt32();
                                carriage newcar = new carriage(number, number_coupes);
                                for (int j = 0; j < newcar.number_coupes; j++)
                                {
                                    int numberof, number_passenger;
                                    numberof         = f.ReadInt32();
                                    number_passenger = f.ReadInt32();
                                    coupe newcoupe = new coupe(numberof, number_passenger);
                                    newcar.add(newcoupe);
                                }
                                stream.add(newcar);
                            }
                        }
                    }
                }
            }
            return(stream);
        }
Example #10
0
        public void writetofile(train stream)
        {
            RijndaelManaged rijmanaged = new RijndaelManaged();

            byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
            byte[] iv  = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };

            FileInfo file = new FileInfo("D:\\file.txt");

            if (file.Exists == false)
            {
                file.Create();
            }
            using (Stream f = file.Create())
            {
                using (var ds = new DeflateStream(f, CompressionMode.Compress))
                {
                    using (var crypto = new CryptoStream(ds, rijmanaged.CreateEncryptor(key, iv),
                                                         CryptoStreamMode.Write))
                    {
                        using (TextWriter bw = new StreamWriter(crypto))
                        {
                            bw.WriteLine(stream.number);
                            bw.WriteLine(stream.number_carriages);
                            foreach (var c in stream)
                            {
                                bw.WriteLine(c.number);
                                bw.WriteLine(c.number_coupes);
                                foreach (var s in c)
                                {
                                    bw.WriteLine(s.number);
                                    bw.WriteLine(s.number_passenger);
                                }
                            }
                        }
                        crypto.Close();
                    }
                }
            }
        }