Csharp/C Sharp by API/System.IO/BinaryReader

Материал из .Net Framework эксперт
Версия от 15:12, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

BinaryReader.BaseStream

<source lang="csharp"> using System; using System.IO;

class Class1 {

   static void Main(string[] args) {
       string[] cma = Environment.GetCommandLineArgs();
       if (cma.GetUpperBound(0) >= 1) {
           FileStream myFStream = new FileStream(cma[1], FileMode.Open, FileAccess.Read);
           BinaryReader binRead = new BinaryReader(myFStream);
           binRead.BaseStream.Position = 0x12;
           
           Console.WriteLine(binRead.ReadInt32());
           Console.WriteLine(binRead.ReadInt32());
           Console.WriteLine(binRead.ReadInt16());
           Console.WriteLine(binRead.ReadInt16());
           binRead.Close();
           myFStream.Close();
       }
   }

}

 </source>


BinaryReader.PeekChar()

<source lang="csharp">

using System; using System.Collections.Generic; using System.Text; using System.IO; class Program {

   static void Main(string[] args) {
       FileInfo f = new FileInfo("BinFile.dat");
       BinaryWriter bw = new BinaryWriter(f.OpenWrite());
       Console.WriteLine("Base stream is: {0}", bw.BaseStream);
       double aDouble = 1234.67;
       int anInt = 34567;
       char[] aCharArray = { "A", "B", "C" };
       bw.Write(aDouble);
       bw.Write(anInt);
       bw.Write(aCharArray);
       bw.Close();
       BinaryReader br = new BinaryReader(f.OpenRead());
       int temp = 0;
       while (br.PeekChar() != -1) {
           Console.Write("{0,7:x} ", br.ReadByte());
           if (++temp == 4) {
               Console.WriteLine();
               temp = 0;
           }
       }
   }

}

 </source>


BinaryReader.ReadByte()

<source lang="csharp">

using System; using System.Collections.Generic; using System.Text; using System.IO; class Program {

   static void Main(string[] args) {
       FileInfo f = new FileInfo("BinFile.dat");
       BinaryWriter bw = new BinaryWriter(f.OpenWrite());
       Console.WriteLine("Base stream is: {0}", bw.BaseStream);
       double aDouble = 1234.67;
       int anInt = 34567;
       char[] aCharArray = { "A", "B", "C" };
       bw.Write(aDouble);
       bw.Write(anInt);
       bw.Write(aCharArray);
       bw.Close();
       BinaryReader br = new BinaryReader(f.OpenRead());
       int temp = 0;
       while (br.PeekChar() != -1) {
           Console.Write("{0,7:x} ", br.ReadByte());
           if (++temp == 4) {
               Console.WriteLine();
               temp = 0;
           }
       }
   }

}

 </source>


BinaryReader.ReadChar()

<source lang="csharp"> using System; using System.IO; class MainClass {

   static void Main() {
       using (FileStream fs = new FileStream("test.bin", FileMode.Create)) {
           using (BinaryWriter w = new BinaryWriter(fs)) {
               w.Write(124.23M);
               w.Write("Tstring");
               w.Write("Tstring 2");
               w.Write("!");
           }
       }
       Console.WriteLine("Press Enter to read the information.");
       Console.ReadLine();
       using (FileStream fs = new FileStream("test.bin", FileMode.Open)) {
           using (StreamReader sr = new StreamReader(fs)) {
               Console.WriteLine(sr.ReadToEnd());
               Console.WriteLine();
               fs.Position = 0;
               using (BinaryReader br = new BinaryReader(fs)) {
                   Console.WriteLine(br.ReadDecimal());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadChar());
               }
           }
       }
   }

}

 </source>


BinaryReader.ReadDecimal()

<source lang="csharp"> using System; using System.IO; class MainClass {

   static void Main() {
       using (FileStream fs = new FileStream("test.bin", FileMode.Create)) {
           using (BinaryWriter w = new BinaryWriter(fs)) {
               w.Write(124.23M);
               w.Write("Tstring");
               w.Write("Tstring 2");
               w.Write("!");
           }
       }
       Console.WriteLine("Press Enter to read the information.");
       Console.ReadLine();
       using (FileStream fs = new FileStream("test.bin", FileMode.Open)) {
           using (StreamReader sr = new StreamReader(fs)) {
               Console.WriteLine(sr.ReadToEnd());
               Console.WriteLine();
               fs.Position = 0;
               using (BinaryReader br = new BinaryReader(fs)) {
                   Console.WriteLine(br.ReadDecimal());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadChar());
               }
           }
       }
   }

}

 </source>


BinaryReader.ReadDouble()

<source lang="csharp"> using System; using System.IO; public class Binary {

 public static void Main(string [] args) {
   BinaryWriter output = new BinaryWriter(new FileStream("test.dat",FileMode.Create));
   
   output.Write(1);
   
   output.Write(0.01);
  
   output.Close();
   BinaryReader input = new BinaryReader(new FileStream("test.dat",FileMode.Open));
   Console.WriteLine("{0} ", input.ReadInt32());
   Console.WriteLine("{0:F1} ", input.ReadDouble());
   input.Close();
 }

}

 </source>


BinaryReader.ReadInt32()

<source lang="csharp"> using System; using System.IO; public class Binary {

 public static void Main(string [] args) {
   BinaryWriter output = new BinaryWriter(new FileStream("test.dat",FileMode.Create));
   
   output.Write(1);
   
   output.Write(0.01);
  
   output.Close();
   BinaryReader input = new BinaryReader(new FileStream("test.dat",FileMode.Open));
   Console.WriteLine("{0} ", input.ReadInt32());
   Console.WriteLine("{0:F1} ", input.ReadDouble());
   input.Close();
 }

}

 </source>


BinaryReader.ReadString()

<source lang="csharp"> using System; using System.IO; class MainClass {

   static void Main() {
       using (FileStream fs = new FileStream("test.bin", FileMode.Create)) {
           using (BinaryWriter w = new BinaryWriter(fs)) {
               w.Write(124.23M);
               w.Write("Tstring");
               w.Write("Tstring 2");
               w.Write("!");
           }
       }
       Console.WriteLine("Press Enter to read the information.");
       Console.ReadLine();
       using (FileStream fs = new FileStream("test.bin", FileMode.Open)) {
           using (StreamReader sr = new StreamReader(fs)) {
               Console.WriteLine(sr.ReadToEnd());
               Console.WriteLine();
               fs.Position = 0;
               using (BinaryReader br = new BinaryReader(fs)) {
                   Console.WriteLine(br.ReadDecimal());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadChar());
               }
           }
       }
   }

}

 </source>


new BinaryReader(FileStream fs)

<source lang="csharp">

using System; using System.IO; class MainClass {

   static void Main() {
       using (FileStream fs = new FileStream("test.bin", FileMode.Create)) {
           using (BinaryWriter w = new BinaryWriter(fs)) {
               w.Write(124.23M);
               w.Write("Tstring");
               w.Write("Tstring 2");
               w.Write("!");
           }
       }
       Console.WriteLine("Press Enter to read the information.");
       Console.ReadLine();
       using (FileStream fs = new FileStream("test.bin", FileMode.Open)) {
           using (StreamReader sr = new StreamReader(fs)) {
               Console.WriteLine(sr.ReadToEnd());
               Console.WriteLine();
               fs.Position = 0;
               using (BinaryReader br = new BinaryReader(fs)) {
                   Console.WriteLine(br.ReadDecimal());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadString());
                   Console.WriteLine(br.ReadChar());
               }
           }
       }
   }

}

 </source>