本文整理汇总了C#中ChunkedMemoryStream.Read方法的典型用法代码示例。如果您正苦于以下问题:C# ChunkedMemoryStream.Read方法的具体用法?C# ChunkedMemoryStream.Read怎么用?C# ChunkedMemoryStream.Read使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ChunkedMemoryStream
的用法示例。
在下文中一共展示了ChunkedMemoryStream.Read方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Write_100_bytes_100_times_Read_10000_bytes
public void Write_100_bytes_100_times_Read_10000_bytes()
{
byte[] bytes = GetBytes(100);
byte[][] arrays = new byte[100][];
var stream = new ChunkedMemoryStream();
for(int i = 0; i < 100; ++i) {
stream.Write(bytes, 0, bytes.Length);
arrays[i] = bytes;
}
stream.Position = 0;
byte[] buffer = new byte[100 * bytes.Length];
int read = stream.Read(buffer, 0, buffer.Length);
Assert.AreEqual(buffer.Length, read);
Assert.AreEqual(ArrayUtil.Concat(arrays), buffer);
Assert.AreEqual(0, stream.Read(buffer, 0, buffer.Length));
}
示例2: Read_from_an_initialized_buffer
public void Read_from_an_initialized_buffer()
{
var originalBytes = GetBytes(100);
var stream = new ChunkedMemoryStream(originalBytes);
var readBytes = new byte[100];
stream.Read(readBytes, 0, readBytes.Length);
Assert.AreEqual(originalBytes, readBytes);
}
示例3: Write_100_bytes_100_times_Read_100_bytes_100_times
public void Write_100_bytes_100_times_Read_100_bytes_100_times()
{
byte[] bytes = GetBytes(100);
var stream = new ChunkedMemoryStream();
for(int i = 0; i < 100; ++i) {
stream.Write(bytes, 0, bytes.Length);
}
stream.Position = 0;
byte[] buffer = new byte[bytes.Length];
for(int i = 0; i < 100; ++i) {
int read = stream.Read(buffer, 0, buffer.Length);
Assert.AreEqual(buffer.Length, read);
Assert.AreEqual(bytes, buffer);
}
Assert.AreEqual(0, stream.Read(buffer, 0, buffer.Length));
}
示例4: Write_fixed_buffer_with_offset
public void Write_fixed_buffer_with_offset()
{
var bytes = GetBytes(100);
var stream = new ChunkedMemoryStream(bytes, 10, 10);
var writtenBytes = GetBytes(10).Reverse().ToArray();
stream.Write(writtenBytes, 0, writtenBytes.Length);
stream.Position = 0;
var readBytes = new byte[10];
stream.Read(readBytes, 0, readBytes.Length);
Assert.AreEqual(writtenBytes, readBytes);
}
示例5: Write_64k_bytes_Truncate_17k_Read_64k
public void Write_64k_bytes_Truncate_17k_Read_64k()
{
byte[] bytes = GetBytes(64 * 1024);
var stream = new ChunkedMemoryStream();
stream.Write(bytes, 0, bytes.Length);
stream.SetLength(17 * 1024);
stream.Position = 0;
byte[] buffer = new byte[bytes.Length];
int read = stream.Read(buffer, 0, buffer.Length);
Assert.AreEqual(17 * 1024, read);
Assert.AreEqual(bytes.Take(17 * 1024).ToArray(), buffer.Take(17 * 1024).ToArray());
Assert.AreEqual(0, stream.Read(buffer, 0, buffer.Length));
}
示例6: Write_64k_bytes_Read_64k_bytes
public void Write_64k_bytes_Read_64k_bytes()
{
byte[] bytes = GetBytes(64 * 1024);
var stream = new ChunkedMemoryStream();
stream.Write(bytes, 0, bytes.Length);
stream.Position = 0;
byte[] buffer = new byte[bytes.Length];
int read = stream.Read(buffer, 0, buffer.Length);
Assert.AreEqual(buffer.Length, read);
Assert.AreEqual(bytes, buffer);
Assert.AreEqual(0, stream.Read(buffer, 0, buffer.Length));
}
示例7: TestRead
public void TestRead()
{
using (var stream = new ChunkedMemoryStream(8)) {
for (var i = 0; i < 32; i++) {
stream.WriteByte((byte)i);
}
Assert.AreEqual(0L, stream.Seek(0, SeekOrigin.Begin));
var buffer = new byte[16];
Assert.AreEqual(1, stream.Read(buffer, 0, 1));
Assert.AreEqual(new byte[] {0x00}, buffer.Slice(0, 1));
Assert.AreEqual(1L, stream.Position);
Assert.AreEqual(3, stream.Read(buffer, 0, 3));
Assert.AreEqual(new byte[] {0x01, 0x02, 0x03}, buffer.Slice(0, 3));
Assert.AreEqual(4L, stream.Position);
Assert.AreEqual(4, stream.Read(buffer, 0, 4));
Assert.AreEqual(new byte[] {0x04, 0x05, 0x06, 0x07}, buffer.Slice(0, 4));
Assert.AreEqual(8L, stream.Position);
Assert.AreEqual(7, stream.Read(buffer, 0, 7));
Assert.AreEqual(new byte[] {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e}, buffer.Slice(0, 7));
Assert.AreEqual(15L, stream.Position);
Assert.AreEqual(2, stream.Read(buffer, 0, 2));
Assert.AreEqual(new byte[] {0x0f, 0x10}, buffer.Slice(0, 2));
Assert.AreEqual(17L, stream.Position);
Assert.AreEqual(15, stream.Read(buffer, 0, 16));
Assert.AreEqual(new byte[] {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f}, buffer.Slice(0, 15));
Assert.AreEqual(32L, stream.Position);
}
}