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

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

BinaryReader.BaseStream

 
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();
        }
    }
}


BinaryReader.PeekChar()

 

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;
            }
        }
    }
}


BinaryReader.ReadByte()

 

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;
            }
        }
    }
}


BinaryReader.ReadChar()

 
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());
                }
            }
        }
    }
}


BinaryReader.ReadDecimal()

 
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());
                }
            }
        }
    }
}


BinaryReader.ReadDouble()

 
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();
  }
}


BinaryReader.ReadInt32()

 
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();
  }
}


BinaryReader.ReadString()

 
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());
                }
            }
        }
    }
}


new BinaryReader(FileStream fs)

 

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());
                }
            }
        }
    }
}