A buffer class that stores byte-type data elements for the .NET platform.
string dataFile = Directory.GetCurrentDirectory() + @"\..\..\..\sample.data"; // Reading binary file using file stream using (var stream = new FileStream(dataFile, FileMode.Open, FileAccess.Read, FileShare.None)) using (var buffer = new StreamByteBuffer(stream)) { // get string type var data1 = buffer.Get<string>(10); // get int type var data2 = buffer.Get<int>(); // get long type var data3 = buffer.Get<long>(); // get float type var data4 = buffer.Get<float>(); // get bytes var data5 = buffer.Get(2); // get single byte var data6 = buffer.Get(); // get bytes var data7 = buffer.Get(2); }string dataFile = Directory.GetCurrentDirectory() + @"\..\..\..\sample.data"; // Generating binary file using file streams using (var stream = new FileStream(dataFile, FileMode.Create, FileAccess.Write, FileShare.None)) using (var buffer = new StreamByteBuffer(stream)) { // input string type data buffer.Put("string data", 10) // input int type .Put(1) // input long type .Put(1L) // input float type .Put(1F) // input null bytes .PutNull(2) // input single byte .Put((byte)0x00) // input bytes .Put(new byte[] { 0x00, 0x01 }); }string dataFile = Directory.GetCurrentDirectory() + @"\..\..\..\sample.data"; // Generating binary file using (var buffer = new InMemoryByteBuffer()) { // input string type data buffer.Put("string data", 10) // input int type .Put(1) // input long type .Put(1L) // input float type .Put(1F) // input null bytes .PutNull(2) // input single byte .Put((byte)0x00) // input bytes .Put(new byte[] { 0x00, 0x01 }); File.WriteAllBytes(dataFile, buffer.ToArray()); }string dataFile = Directory.GetCurrentDirectory() + @"\..\..\..\sample.data"; // Reading binary files using (var buffer = new InMemoryByteBuffer(File.ReadAllBytes(dataFile))) { // get string type var data1 = buffer.Get<string>(10); // get int type var data2 = buffer.Get<int>(); // get long type var data3 = buffer.Get<long>(); // get float type var data4 = buffer.Get<float>(); // get bytes var data5 = buffer.Get(2); // get single byte var data6 = buffer.Get(); // get bytes var data7 = buffer.Get(2); }