🗊 Презентация Ввод-вывод. Сериализация объектов

Нажмите для полного просмотра!
Ввод-вывод. Сериализация объектов, слайд №1 Ввод-вывод. Сериализация объектов, слайд №2 Ввод-вывод. Сериализация объектов, слайд №3 Ввод-вывод. Сериализация объектов, слайд №4 Ввод-вывод. Сериализация объектов, слайд №5 Ввод-вывод. Сериализация объектов, слайд №6 Ввод-вывод. Сериализация объектов, слайд №7 Ввод-вывод. Сериализация объектов, слайд №8 Ввод-вывод. Сериализация объектов, слайд №9 Ввод-вывод. Сериализация объектов, слайд №10 Ввод-вывод. Сериализация объектов, слайд №11 Ввод-вывод. Сериализация объектов, слайд №12 Ввод-вывод. Сериализация объектов, слайд №13 Ввод-вывод. Сериализация объектов, слайд №14 Ввод-вывод. Сериализация объектов, слайд №15 Ввод-вывод. Сериализация объектов, слайд №16 Ввод-вывод. Сериализация объектов, слайд №17 Ввод-вывод. Сериализация объектов, слайд №18 Ввод-вывод. Сериализация объектов, слайд №19 Ввод-вывод. Сериализация объектов, слайд №20 Ввод-вывод. Сериализация объектов, слайд №21 Ввод-вывод. Сериализация объектов, слайд №22 Ввод-вывод. Сериализация объектов, слайд №23 Ввод-вывод. Сериализация объектов, слайд №24 Ввод-вывод. Сериализация объектов, слайд №25 Ввод-вывод. Сериализация объектов, слайд №26 Ввод-вывод. Сериализация объектов, слайд №27 Ввод-вывод. Сериализация объектов, слайд №28 Ввод-вывод. Сериализация объектов, слайд №29 Ввод-вывод. Сериализация объектов, слайд №30 Ввод-вывод. Сериализация объектов, слайд №31 Ввод-вывод. Сериализация объектов, слайд №32 Ввод-вывод. Сериализация объектов, слайд №33 Ввод-вывод. Сериализация объектов, слайд №34 Ввод-вывод. Сериализация объектов, слайд №35 Ввод-вывод. Сериализация объектов, слайд №36 Ввод-вывод. Сериализация объектов, слайд №37 Ввод-вывод. Сериализация объектов, слайд №38 Ввод-вывод. Сериализация объектов, слайд №39 Ввод-вывод. Сериализация объектов, слайд №40 Ввод-вывод. Сериализация объектов, слайд №41 Ввод-вывод. Сериализация объектов, слайд №42 Ввод-вывод. Сериализация объектов, слайд №43 Ввод-вывод. Сериализация объектов, слайд №44 Ввод-вывод. Сериализация объектов, слайд №45 Ввод-вывод. Сериализация объектов, слайд №46 Ввод-вывод. Сериализация объектов, слайд №47 Ввод-вывод. Сериализация объектов, слайд №48 Ввод-вывод. Сериализация объектов, слайд №49 Ввод-вывод. Сериализация объектов, слайд №50

Содержание

Вы можете ознакомиться и скачать презентацию на тему Ввод-вывод. Сериализация объектов. Доклад-сообщение содержит 50 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Ввод-вывод Сериализация объектов
Описание слайда:
Ввод-вывод Сериализация объектов

Слайд 2


Наиболее важные классы пространства имен System.IO
Описание слайда:
Наиболее важные классы пространства имен System.IO

Слайд 3


Иерархия типов
Описание слайда:
Иерархия типов

Слайд 4


Свойства и методы класса FileSystemInfo
Описание слайда:
Свойства и методы класса FileSystemInfo

Слайд 5


Тип DirectoryInfo
Описание слайда:
Тип DirectoryInfo

Слайд 6


Работа с DirectoryInfo class MyDirectory { public static void Main(String[] args) { // Создаем объект DirectoryInfo, соответствующий D:\TEMP...
Описание слайда:
Работа с DirectoryInfo class MyDirectory { public static void Main(String[] args) { // Создаем объект DirectoryInfo, соответствующий D:\TEMP DirectoryInfo dir = new DirectoryInfo(@“C:\TEMP"); // Выводим информацию о каталоге Console.WriteLine("***** Directory Info *****"); Console.WriteLine("FullName: {0}", dir.FullName); Console.WriteLine("Name: {0}", dir.Name); Console.WriteLine("Parent: {0}", dir.Parent); Console.WriteLine("Creation: {0}", dir.CreationTime); Console.WriteLine("Attributes: {0}", dir.Attributes.ToString()); Console.WriteLine("Root: {0}", dir.Root); Console.WriteLine("***********************\n"); } }

Слайд 7


Перечисление FileAttributes
Описание слайда:
Перечисление FileAttributes

Слайд 8


Доступ к файлам через Directory и FileInfo class MyDirectory { public static void Main(String[] args) { // Создаем объект DirectoryInfo,...
Описание слайда:
Доступ к файлам через Directory и FileInfo class MyDirectory { public static void Main(String[] args) { // Создаем объект DirectoryInfo, соответствующий C:\TEMP DirectoryInfo dir = new DirectoryInfo(@“C:\TEMP"); // Получаем все файлы с расширением MP3 FileInfo[ ] bitmapFiles = dir.GetFiles("*.mp3"); // А сколько их у нас? Console.WriteLine("Found {0} *.bmp files\n", bitmapFiles.Length); // Теперь выводим информацию о каждом файле foreach (FileInfo f in bitmapFiles) { Console.WriteLine("*******************\n"); Console.WriteLine("File name: {0}", f.Name); Console.WriteLine("File size: {0}", f.Length); Console.WriteLine("Creation: {0}", f.CreationTime); Console.WriteLine("Attributes: {0}", f.Attributes.ToString()); Console.WriteLine("*******************\n"); } } }

Слайд 9


Создание подкаталогов при помощи класса DirectoryInfo class MyDirectory { public static void Main(String[] args) { DirectoryInfo dir = new...
Описание слайда:
Создание подкаталогов при помощи класса DirectoryInfo class MyDirectory { public static void Main(String[] args) { DirectoryInfo dir = new DirectoryInfo(@"C:\TEMP"); ... // Создаем в C:\TEMP новые подкаталоги try { // Создаем C:\TEMP\MyFoo dir.CreateSubdirectory("MyFoo"); Console.WriteLine("Created: {0}", d.FullName); // Создаем C:\TEMP\MyBar\MyQaaz dir.CreateSubdirectory(@"MyBar\MyQaaz"); Console.WriteLine("Created: {0}", d.FullName); } catch(IOException e) { Console.Write(e.Message);} } }

Слайд 10


Статические члены класса Directory public static void Main(String[] args) { // Создаем объект DirectoryInfo, соответствующий C:\TEMP DirectoryInfo...
Описание слайда:
Статические члены класса Directory public static void Main(String[] args) { // Создаем объект DirectoryInfo, соответствующий C:\TEMP DirectoryInfo dir = new DirectoryInfo(@"C:\TEMP"); // А теперь воспользуемся несколькими статическими методами класса Directory // Выводим информацию обо всех логических дисках string[ ] drives = Directory.GetLogicalDrives(); Console.WriteLine("Here are your drives:"); foreach(string s in drives) { Console.WriteLine("->{0}", s);} // Удаляем только что созданные каталоги Console.Write(Going to delete\n->" + dir.FullName +"\\MyBar\MyQaaz.\nand\an->" + dir.FullName + “ \\MyFoo.\n" + "Press a key to continue!"); Console.Read(); try { Directory.Delete(@"C:\TEMP\MyFoo"); // Необязательный второй параметр определяет, будут ли удалены вложенные подкаталоги Directory.Delete(@"C:\TEMP\MyBar", true); } catch(IOException e) { Console.WriteLine(e.Message); } }

Слайд 11


Класс FileInfo (1)
Описание слайда:
Класс FileInfo (1)

Слайд 12


Класс FileInfo (2)
Описание слайда:
Класс FileInfo (2)

Слайд 13


Манипуляция файлом public class FileManipulator { public static int Main(string[] args) { // Создаем новый файл в корневом каталоге диска C: FileInfo...
Описание слайда:
Манипуляция файлом public class FileManipulator { public static int Main(string[] args) { // Создаем новый файл в корневом каталоге диска C: FileInfo f = new FileInfo(@"C:\Test.txt"); FileStream fs = f.Create(); // Выводим основную информацию о созданном нами файле Console.WriteLine("Creation: {0}", f.CreationTime); Console.WriteLine("Full Name: {0}", f.FullName); Console.WriteLine("Full atts: {0}", f.Attributes.ToString()); Console.Write("Press a key to delete file"); Console.Read(); // Закрываем FileStream и удаляем файл fs.Close(); f.Delete(); return 0; } }

Слайд 14


Использование метода FileInfo.Open() // Get a new FileStream object. FileInfo f2 = new FileInfo(@"C:\HelloThere.ini"); FileStream s =...
Описание слайда:
Использование метода FileInfo.Open() // Get a new FileStream object. FileInfo f2 = new FileInfo(@"C:\HelloThere.ini"); FileStream s = f2.Open (FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); // Write 20 bytes to the dat file... for(int i = 0; i < 256; i++) { s.WriteByte((byte)i); }

Слайд 15


Значение перечисления FileMode
Описание слайда:
Значение перечисления FileMode

Слайд 16


Значение перечисления FileAccess
Описание слайда:
Значение перечисления FileAccess

Слайд 17


Методы FileInfo.OpenRead и FileInfo.OpenWritle FileInfo fr = new FileInfo(@"C:\boot.ini"); FileStream readOnlyStream = fr.OpenRead();...
Описание слайда:
Методы FileInfo.OpenRead и FileInfo.OpenWritle FileInfo fr = new FileInfo(@"C:\boot.ini"); FileStream readOnlyStream = fr.OpenRead(); readOnlyStream.Close(); FileInfo fw = new FileInfo(@"C:\boot.ini"); FileStream writeOnlyStream = fw.OpenWrite(); writeOnlyStream.Close();

Слайд 18


Методы FileInfo.OpenText, FileInfo.CreateText, FileInfo.AppendText FileInfo fs = new FileInfo(@"C:\boot.ini"); StreamReader sReader =...
Описание слайда:
Методы FileInfo.OpenText, FileInfo.CreateText, FileInfo.AppendText FileInfo fs = new FileInfo(@"C:\boot.ini"); StreamReader sReader = fs.OpenText(); sReader.Close(); FileInfo fs = new FileInfo(@"C:\test.txt"); fs.Open(FileMode.Create,FileAccess.ReadWrite) StreamWriter sWriter = fs.CreateText(); sWriter.Close();

Слайд 19


Абстрактный класс Stream
Описание слайда:
Абстрактный класс Stream

Слайд 20


Члены класса Stream
Описание слайда:
Члены класса Stream

Слайд 21


Работа с объектом FileStream FileStream s = f2.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); // Write 20 bytes to the dat...
Описание слайда:
Работа с объектом FileStream FileStream s = f2.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); // Write 20 bytes to the dat file... for(int i = 0; i < 256; i++) { s.WriteByte((byte)i); } // Reset internal position. s.Position = 0; // Read 20 bytes from the dat file... for(int i = 0; i < 256; i++) { Console.Write(s.ReadByte()); } s.Close();

Слайд 22


Работа с объектом MemoryStream // Создаем объект MemoryStream точно определенного объема MemoryStream myMemStream = new MemoryStream();...
Описание слайда:
Работа с объектом MemoryStream // Создаем объект MemoryStream точно определенного объема MemoryStream myMemStream = new MemoryStream(); myMemStream.Capacity = 256; // Записываем байты в myMemStream for(int i = 0; i < 256; i++) { myMemStream.WriteByte((byte)i); } // Переставляем внутренний указатель на начало myMemStream.Position = 0; // Считываем байты из потока for(int i = 0; i < 256; i++) { Console.Write(myMemStream.ReadByte()); } myMemStream.Close();

Слайд 23


Наиболее важные члены MemoryStream
Описание слайда:
Наиболее важные члены MemoryStream

Слайд 24


Класс BufferedStream // Создаем объект BufferedStream BufferedStream myFileBuffer = new BufferedStream(dumpFile); // Добавляем несколько байт byte [...
Описание слайда:
Класс BufferedStream // Создаем объект BufferedStream BufferedStream myFileBuffer = new BufferedStream(dumpFile); // Добавляем несколько байт byte [ ] str = {127, 0x77, 0x4, 0x0, 0x0, 0x16}; myFileBuffer.Write(str, 0, str.Length); myFileBuffer.Close(); // Сброс на диск только сейчас

Слайд 25


Классы StreamReader и StreamWriter
Описание слайда:
Классы StreamReader и StreamWriter

Слайд 26


Наиболее важные члены TextWriter
Описание слайда:
Наиболее важные члены TextWriter

Слайд 27


Запись в текстовый файл // Создаем файл FileInfo f = new FileInfo("Thoughts.txt"); // Получаем объект StreamWriter и с его помощью...
Описание слайда:
Запись в текстовый файл // Создаем файл FileInfo f = new FileInfo("Thoughts.txt"); // Получаем объект StreamWriter и с его помощью записываем в файл // несколько строк текста StreamWriter writer = f.CreateText(); writer.WriteLine("Don't forget Mother's Day this year..."); writer.WriteLine("Don't forget Father's Day this year..."); writer.WriteLine("Don't forget these numbers:"); for(int i = 0; i < 10; i++); { writer.Write(i + " "); } // Вставляем символ начала новой строки writer.Write(writer.NewLine); // Метод Close() автоматически очищает все буферы! writer.Close(); Console.WriteLine("Created file and wrote some thoughts...");

Слайд 28


Наиболее важные члены TextReader
Описание слайда:
Наиболее важные члены TextReader

Слайд 29


Чтение текстового файла // А теперь выводим информацию из файла на консоль при помощи // StreamReader Console.WriteLine("Here are your...
Описание слайда:
Чтение текстового файла // А теперь выводим информацию из файла на консоль при помощи // StreamReader Console.WriteLine("Here are your thoughts:\n"); StreamReader sr = File.OpenText("Thoughts.txt"); string input = null; while ((input = sr.ReadLine()) !=null) { Console.WriteLine(input); } sr.Close();

Слайд 30


Класс StringWriter // Получаем объект StringWriter и с его помощью записываем // в файл несколько строк текста StringWriter writer = new...
Описание слайда:
Класс StringWriter // Получаем объект StringWriter и с его помощью записываем // в файл несколько строк текста StringWriter writer = new StringWriter(); writer.WriteLine("Don't forget Mother's Day this year..."); writer.WriteLine("Don't forget Father's Day this year..."); writer.WriteLine("Don't forget these numbers:"); for(int i = 0; i < 10; i++); { writer.Write(i + " "); } // Вставляем символ начала новой строки writer.Write(writer.NewLine); // Метод Close() автоматически очищает все буферы! writer.Close(); Console.WriteLine("Stored thoughts in a StringWriter..."); // Получаем копию содержимого StringBuffer (в виде значения типа string) // и выводим ее на консоль Console.WriteLine("Contents: {0}", writer.ToString());

Слайд 31


Доступ через StringWriter.GetStringBuilder() // Получаем объект StringBuilder и выводим его содержимое StringBuilder str = writer.GetStringBuilder();...
Описание слайда:
Доступ через StringWriter.GetStringBuilder() // Получаем объект StringBuilder и выводим его содержимое StringBuilder str = writer.GetStringBuilder(); string allOfTheData = str.ToString(); Console.WriteLine("StringBuilder says:\n{0} ", allOfTheData); // Вставляем в буфер новый элемент, позиция вставки 20 str.Insert(20, "INSERTED STUFF"); allOfTheData = str.ToString(); Console.WriteLine("New StringBuilder says:\n{0}", allOfTheData); // Удаляем вставленный элемент str.Remove(20, "INSERTED STUFF".Length); allOfTheData = str.ToString(); Console.WriteLine("Original says:\n{0}", allOfTheData);

Слайд 32


Доступ через StringWriter.GetStringBuilder() // Получаем объект StringBuilder и выводим его содержимое StringBuilder str = writer.GetStringBuilder();...
Описание слайда:
Доступ через StringWriter.GetStringBuilder() // Получаем объект StringBuilder и выводим его содержимое StringBuilder str = writer.GetStringBuilder(); string allOfTheData = str.ToString(); Console.WriteLine("StringBuilder says:\n{0} ", allOfTheData); // Вставляем в буфер новый элемент, позиция вставки 20 str.Insert(20, "INSERTED STUFF"); allOfTheData = str.ToString(); Console.WriteLine("New StringBuilder says:\n{0}", allOfTheData); // Удаляем вставленный элемент str.Remove(20, "INSERTED STUFF".Length); allOfTheData = str.ToString(); Console.WriteLine("Original says:\n{0}", allOfTheData);

Слайд 33


Доступ через StringWriter.GetStringBuilder() StringReader sr = new StringReader(writer.ToString()); string input = null; while ((input =...
Описание слайда:
Доступ через StringWriter.GetStringBuilder() StringReader sr = new StringReader(writer.ToString()); string input = null; while ((input = sr.ReadLine()) != null) { Console.WriteLine (input); } sr.Close();

Слайд 34


Наиболее важные члены BinaryWriter
Описание слайда:
Наиболее важные члены BinaryWriter

Слайд 35


Запись двоичных файлов FileStream myFStream = new FileStream("temp.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); // Записываем...
Описание слайда:
Запись двоичных файлов FileStream myFStream = new FileStream("temp.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); // Записываем двоичные данные BinaryWriter binWrit = new BinaryWriter(myFStream); binWrit.WriteString("Hello as binary info..."); int myInt = 99; float myFloat = 9984.82343F; bool myBool = false; char[] myCharArray = {'H', 'e', 'l', 'l', 'o'}; binWrit.Write(myInt); binWrit.Write(myFloat); binWrit.Write(myBool); binWrit.Write(myCharArray);

Слайд 36


Чтение двоичных файлов // Устанавливаем внутренний указатель на начало binWrit.BaseStream.Position = 0; // Считываем двоичную информацию как поток...
Описание слайда:
Чтение двоичных файлов // Устанавливаем внутренний указатель на начало binWrit.BaseStream.Position = 0; // Считываем двоичную информацию как поток байтов Console.WriteLine("Reading binary data..."); BinaryReader binRead = new BinaryReader(myFStream); int temp = 0; while(binRead.PeekChar() != -1) { Console.Write(binRead.ReadByte()); temp = temp + 1; if(temp = = 5) { // Добавляем пустую строку через каждые 5 байтов temp = 0; Console.WriteLine(); } } // Все закрываем binWrit.Close(); binRead.Close(); myFStream.Close();

Слайд 37


Вывод стандартных объектов // Открываем файл изображения в каталоге приложения Console.WriteLine("Modifying a bitmap in memory"); myFStream...
Описание слайда:
Вывод стандартных объектов // Открываем файл изображения в каталоге приложения Console.WriteLine("Modifying a bitmap in memory"); myFStream = new FileStream("Paint Splatter.bmp", FileMode.Open, FileAccess.ReadWrite); // Создаем объект Bitmap на основе открытого потока Bitmap rawBitmap = new Bitmap(myFStream); // Рисуем белый крест поперек изображения (наш код применим лишь в том // случае, если высота и ширина изображения одинаковы) for(int i = 0; i < rawBitmap.Width; i++) { rawBitmap.SetPixel(i, i, Color.White); rawBitmap.SetPixel(rawBitmap.Width - i) - 1, i - 1, Color.White); } // А теперь сохраняем измененное изображение в файл rawBitmap.Save("newImage.bmp"); myFStream.Close();

Слайд 38


Сохранение объектов .NET Сериализация – процесс преобразования объекта в линеную последовательность байт Сериализация подразумевает сохранение...
Описание слайда:
Сохранение объектов .NET Сериализация – процесс преобразования объекта в линеную последовательность байт Сериализация подразумевает сохранение информации и родительских объектах

Слайд 39


Настройка объектов для сериализации // Класс Radio может быть сериализован [Serializable] public class Radio { // Однако нам нет необходимости...
Описание слайда:
Настройка объектов для сериализации // Класс Radio может быть сериализован [Serializable] public class Radio { // Однако нам нет необходимости сохранять это число [NonSerialized] private int objectIDNumber = 9; public Radio(){} public void On(bool state) { if(state = = true) MessageBox.Show("Music is on..."); else MessageBox.Show("No tunes..."); } }

Слайд 40


Сериализация в двоичном формате using System.Runtime.Serialization.Formatters.Binary; public static void Main() { // Создаем объект JamesBondCar и...
Описание слайда:
Сериализация в двоичном формате using System.Runtime.Serialization.Formatters.Binary; public static void Main() { // Создаем объект JamesBondCar и выполняем с ним всякие действия JamesBondCar myAuto = new JamesBondCar("Fred", 50, false, true); myAuto.TurnOnRadio(true); myAuto.GoUnderWater(); // Создаем поток для записи в файл FileStream myStream = File.Create("CarData.dat"); // Помещаем объектный граф в поток в двоичном формате BinaryFormatter myBinaryFormat = new BinaryFormatter(); myBinaryFormat.Serialize(myStream, myAuto); myStream.Close(); ... }

Слайд 41


Полученный двоичный файл
Описание слайда:
Полученный двоичный файл

Слайд 42


Десериализация в двоичном формате using System.Runtime.Serialization.Formatters.Binary; public static void Main() { myStream =...
Описание слайда:
Десериализация в двоичном формате using System.Runtime.Serialization.Formatters.Binary; public static void Main() { myStream = FileOpenRead("CarData.dat"); JamesBondCar carFromDisk = (JamesBondCar) myBinaryFormat.Deserialize(myStream); Console.WriteLine(CarFromDisk.PetName); CarFromDisk.TurnOnRadio(true); myStream.Close(); }

Слайд 43


Сериализация в формате SOAP using System.Runtime.Serialization.Formatters.Soap; // Сохраняем тот же самый объект в формате SOAP FileStream myStream =...
Описание слайда:
Сериализация в формате SOAP using System.Runtime.Serialization.Formatters.Soap; // Сохраняем тот же самый объект в формате SOAP FileStream myStream = File.Create("CarData.xml"); SoapFormatter myXMLFormat = new SoapFormatter(); myXMLFormat.Serialize(myStream, myAuto); myStream.Close(); // Восстанавливаем объект из файла SOAP myStream = File.OpenRead("CarData.xml"); JamesBondCar carFromXML = (JamesBondCar)myXMLFormat.Deserialize(myStream); Console.WriteLine(carFromXML.PetName + " is alive!"); myStream.Close();

Слайд 44


Результирующий XML-файл false true Fred 50 50
Описание слайда:
Результирующий XML-файл false true Fred 50 50

Слайд 45


Пользовательская сериализация // Интерфейс ISerializable public interface ISerializable { public virtual void GetObjectData (Serialization info,...
Описание слайда:
Пользовательская сериализация // Интерфейс ISerializable public interface ISerializable { public virtual void GetObjectData (Serialization info, SreamingContext context); } // Специальный конструктор для десериализации Class SoeClass { private SomeClass (Serialization si, SreamingContext ctx) { … } }

Слайд 46


Класс SerializationInfo AddValue() – многократно перегружен GetXXXX() – GetString, GetInt32 …
Описание слайда:
Класс SerializationInfo AddValue() – многократно перегружен GetXXXX() – GetString, GetInt32 …

Слайд 47


Простой пример пользовательской сериализации public class CustomCarType : ISerializable { public string petName; public int maxSpeed; public...
Описание слайда:
Простой пример пользовательской сериализации public class CustomCarType : ISerializable { public string petName; public int maxSpeed; public CustomCarType(string s, int i) { petName = s; maxSpeed = i; } // Передаем информацию о состоянии объекта объекту Formatter public void GetObjectData(SerializationInfo si, StreamingContext ctx) { // Каков тип нашего потока? Console.WriteLine("[GetObjectData] Context State: {0}", ctx.State.Format()); si.AddValue("CapPetName", petName); si.AddValue("MaxSpeed", maxSpeed); } // А теперь позаботимся о специальном варианте конструктора private CustomCarType(SerializationInfo si, StreamingContext ctx) { // Каков тип нашего потока? Console.WriteLine("[ctor] Context State: {0}", ctx.State.Format()); petName = si.GetString("CapPetName"); maxSpeed = si.GetInt32("maxSpeed"); } }

Слайд 48


Простой пример пользовательской сериализации public static int Main(string[] args) { CustomCarType myAuto = new CustomCarType("Siddhartha",...
Описание слайда:
Простой пример пользовательской сериализации public static int Main(string[] args) { CustomCarType myAuto = new CustomCarType("Siddhartha", 50); Stream myStream = File.Create("CarData.dat"); // Задействуем интерфейс ISerializable BinaryFormatter myBinaryFormat = new BinaryFormatter(); myBinaryFormat.Serialize(myStream, myAuto); myStream.Close(); myStream = File.OpenRead("CarData.dat"); // Вызываем спецконструктор CustomCarType carFromDisk = (CustomCarType)myBinaryFormat.Deserialize(myStream); Console.WriteLine(carFromDisk.petName + " is alive!"); return 0; }

Слайд 49


Использование диалога Open protected void menuItemOpen_Click (object sender, System.EventArgs e) { // Настраиваем свойства диалогового окна для...
Описание слайда:
Использование диалога Open protected void menuItemOpen_Click (object sender, System.EventArgs e) { // Настраиваем свойства диалогового окна для открытия файлов OpenFileDialog myOpenFileDialog = new OpenFileDialog(); myOpenFileDialog.InitialDirectory = "."; myOpenFileDialog.Filter = "car files (*.car)|*.car|All files(*.*)|*.*"; myOpenFileDialog.FilterIndex = 1; myOpenFileDialog.RestoreDirectory = true; // Восстанавливаем объекты автомобилей if(myOpenFileDialog.ShowDialog() = = DialogResult.OK) { // Очищаем текущий массив arTheCars.Clear(); Stream myStram = null; if((myStream = myOpenFileDiaog.OpenFile()) != null) { BinaryFormatter myBinaryFormat = new BinaryFormatter(); arTheCars = (ArrayList)myBinaryFormat.Deserilize(myStream); myStream.Close(); UpdateGrid(); } } }

Слайд 50


Использование диалога Save As protected void menuItemSave_Click (object sender, System.EventArgs e) { // Настраиваем свойства диалогового окна для...
Описание слайда:
Использование диалога Save As protected void menuItemSave_Click (object sender, System.EventArgs e) { // Настраиваем свойства диалогового окна для сохранения файлов SaveFileDialog mySaveFileDialog = new SaveFileDialog(); mySaveFileDialog.InitialDirectory = "."; mySaveFileDialog.Filter = "car files (*.car)|*.car|All files(*.*)|*.*"; mySaveFileDialog.FilterIndex = 1; mySaveFileDialog.RestoreDirectory = true; mySaveFileDialog..FileName = "carDoc"; // Сохраняем объекты автомобилей if(mySaveFileDialog.ShowDialog() = = DialogResult.OK) { Stream myStram = null; if((myStream = mySaveFileDiaog.OpenFile()) != null) { BinaryFormatter myBinaryFormat = new BinaryFormatter(); myBinaryFormat.Serialize(myStream, arTheCars); myStream.Close(); } } }



Похожие презентации
Mypresentation.ru
Загрузить презентацию