База ответов ИНТУИТ

Практикум прикладного программирования на C# в среде VS.NET 2008

<<- Назад к вопросам

В следующем примере кода: using System.Runtime.Serialization.Formatters.Soap; ...FileStream stream = File.Create("MySoapOrderEntity.xml");formatter.Serialize(stream, order);stream.Close();демонстрируется:

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
SOAP-форматирование при работе с каналом удаленного взаимодействия по протоколу TCP(Верный ответ)
сериализация объекта OrderEntity в SOAP-файл (XML-файл)(Верный ответ)
создание объекта SoapFormatter, используемого для сериализации объектов типа OrderEntity(Верный ответ)
Похожие вопросы
В следующем примере кода:using System.Runtime.Serialization.Formatters.Soap; SoapFormatter formatter = new SoapFormatter();FileStream stream = File.Create("MySoapOrderEntity.xml");formatter.Serialize(stream, order);stream.Close();демонстрируется:
Фрагмента кода:
using System.Runtime.Serialization.Formatters.Binary;...BinaryFormatter formatter = new BinaryFormatter();"MyBinaryOrderEntity.dat"FileStream stream = File.Create("MyBinaryOrderEntity.dat");formatter.Serialize(stream, order);stream.Close();
демонстрирует:
В следующем фрагменте кода: using System.Xml.Serialization;...XmlSerializer serializer = new XmlSerializer(typeof(OrderEntity));TextWriter writer = new StreamWriter("MyXmlOrderEntity.xml");serializer.Serialize(writer, order);writer.Close();показывается:
Фрагмент кода:
using System;  using System.IO;  using System.IO.Compression; namespace Recipe05_23  {  class Recipe05_23  {  static void Main(string[] args)  {   GZipStream zipout = new GZipStream(  File.OpenWrite("compressed_data.gzip"),  CompressionMode.Compress);  StreamWriter writer = new StreamWriter(zipout);  writer.WriteLine("the quick brown fox");   writer.Close();  GZipStream zipin = new GZipStream(  File.OpenRead("compressed_data.gzip"),  CompressionMode.Decompress);  StreamReader reader = new StreamReader(zipin);  a line from the stream and print it out.  Console.WriteLine(reader.ReadLine());  Console.WriteLine(Environment.NewLine);  Console.WriteLine("Main method complete. Press Enter."); Console.ReadLine(); } } }
демонстрирует пример:
Если свойство CanSeek = False, то мы не можем использовать следующие свойства и методы, унаследованные от класса Stream:
Если свойство CanRead = False, то мы не можем использовать следующие методы, унаследованные от класса Stream:
Если свойство CanWrite = False, то мы не можем применять следующие методы класса Stream:
Рассмотрим пример кода:struct Situation { //Наш поток public FileStream filestream; //Здесь будем хранить данные public byte [] bText; //Размер буфера public long bufSize;public MaualResetEvent manualresetevent;}static void EndAsingRead(IAsyncResult iasyncresult){Situation situation = (Situation)iasyncresult.AsyncState; int readCount = situation.filestream.EndRead(iasyncresult); situation.filestream.Close();situation.manualresetevent.Set(); situation.manualresetevent.Close();}Если в приведенном выше коде закоментировать строку situation.manualresetevent.Set(), то в этом случае:
Рассмотрим следующий фрагмент кода:private void button1_Click(object sender, System.EventArgs e){ string path = @"C:\a.txt";using(FileStream filestream=File.Open(path, FileMode.OpenOrCreate)) { BinaryWriter binarywriter = new BinaryWriter(filestream); decimal dNum=20.3m; binarywriter.Write(dNum); dNum=723.05m; binarywriter.Write(dNum); dNum=3000.105m; binarywriter.Write(dNum); }using(FileStream filestream=File.Open(path, FileMode.Open)) { BinaryReader binaryreader = new BinaryReader(filestream); decimal dNum; filestream.Seek(16,SeekOrigin.Begin); textBox1.Text+=binaryreader.ReadDecimal().ToString()+" "; filestream.Seek(32,SeekOrigin.Begin); textBox1.Text+=binaryreader.ReadDecimal().ToString()+" "; filestream.Seek(0,SeekOrigin.Begin); textBox1.Text+=binaryreader.ReadDecimal().ToString()+" "; }}Результат в TextBox:
Следующий код:Imports SystemImports System.IOModule VBDemo Sub Main() Dim Bytes() As Byte = New Byte(10) {} Dim I As Integer Dim MemStr As New MemoryStream()Dim FileStr As New FileStream(“c:\temp\bytes.bin”, _ FileMode.CreateNew) Dim Rand As System.Random = New System.Random() For I = 0 To 9 Bytes(I) = Rand.Next(0, 100) Next MemStr.Write(Bytes, 0, I) MemStr.WriteTo(FileStr) MemStr.Close() FileStr.Close() End SubEnd Moduleдемонстрирует: