Csharp/C Sharp by API/System.IO/BinaryReader
Содержание
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>