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

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

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

Код:
FileStream sourceFile = File.OpenRead(@"C:\zip.xml"); FileStream destFile = File.Create(@"C:\zip.zip");  GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);  try {     int value = sourceFile.ReadByte();         while (value!= -1)         {             compStream.WriteByte((byte)value);                 value = sourceFile.ReadByte();         } } finally {     compStream.Dispose(); }
демонстрирует

(Отметьте один правильный вариант ответа.)

Варианты ответа
пример восстановления файла
пример архивирования файла(Верный ответ)
пример разархивирования файла
Похожие вопросы
Фрагмент кода:
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(); } } }
демонстрирует пример:
Внесем в файл C:\a.txt числа 0123456789, выполним следующий код:
private void button1_Click(object sender, System.EventArgs e){//Файл создан заранее, его объем должен быть достаточно большим string path = "C:\a.txt"; using(FileStream        fileStream = new FileStream(path, FileMode.Open)) {  fileStream.Seek(1, SeekOrigin.Begin);    for (int i=0;i<fileStream.Length;i++)      textBox1.Text=fileStream.ReadByte()+" ";  }
Результат в TextBox:
Внесем в файл C:\a.txt числа 0123456789, выполним следующий код:
private void button1_Click(object sender, System.EventArgs e){   //Файл создан заранее его объем должен быть достаточно большимstring path = "C:\a.txt"; FileInfo fileinfo=new FileInfo(path);  using(FileStream   fileStream = fileinfo.OpenRead()) {  fileStream.Seek(0, SeekOrigin.Begin);  byte[] bArray=new byte[10];    int iBytes=fileStream.Read(bArray,0,10);    if(iBytes == 10)  {   for(int i=0; i < iBytes; i++)   textBox1.Text+= bArray[i];  }}						
Результат:
Внесем в файл C:\a.txt числа 0123456789, выполним следующий код:
private void button1_Click(object sender, System.EventArgs e){//Файл создан заранее его объем должен быть достаточно большим string path = "C:\a.txt";FileInfo fileinfo=new FileInfo(path);  using(FileStream       fileStream = fileinfo.OpenWrite()) {  fileStream.Seek(0, SeekOrigin.Begin);          byte[] bArray=new byte[10];  Random numrandom = new Random();  for(int i=0; i <bArray.Length; i++)  {   //Записываем случайные числа в массив   bArray[i]=(byte)numrandom.Next(48,57);   fileStream.WriteByte(bArray[i]);   textBox1.Text+=bArray[i];  }				 }}
полный результат выполнения кода:
Рассмотрим следующий фрагмент кода: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 VBDemoSub Main()    Dim Bytes As Byte()    Dim Reader As BinaryReader    Dim Writer As BinaryWriter    Reader = New BinaryReader(File.OpenRead (“c:\demo.exe”))    Writer = New BinaryWriter(File.Create (“c:\demo_copy.exe”))    While Reader.PeekChar() > -1        Bytes = Reader.ReadBytes(1024)        Writer.Write(Bytes)    End While    Reader.Close()    Writer.Flush()    Writer.Close()End SubEnd Module
демонстрирует:
Фрагмента кода:
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.Runtime.Serialization.Formatters.Soap; ...FileStream stream = File.Create("MySoapOrderEntity.xml");formatter.Serialize(stream, order);stream.Close();демонстрируется:
Пример кода:  { bArray[i]=(byte)numrandom.Next(48,57);					 textBox1.Text+=bArray[i];}				fileStream.Write(bArray,0,10); 
демонстрирует:
Рассмотрим пример кода: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(), то в этом случае: