C#的Stream.Read方法作用是从当前流中读取指定数量的字节并将其存储到缓冲区中。
该方法的使用方法如下:
public virtual int Read(
byte[] buffer,
int offset,
int count
)
参数说明:
- buffer:字节型数组,是用来缓存读出的数据的。
- offset:整数类型,是buffer参数中的偏移量,即从buffer数组的那个位置开始存储读出的数据。
- count:整数类型,是要读取的字节数。
返回值:返回实际读取的字节数,如果已到达流的末尾,则返回值为零。
示例1:使用Stream.Read方法读取本地文件
using System;
using System.IO;
using System.Text;
namespace ReadFile
{
class Program
{
static void Main(string[] args)
{
using (Stream stream = new FileStream("test.txt", FileMode.Open))
{
byte[] buffer = new byte[1024]; //缓冲区大小
int readLength;
while ((readLength = stream.Read(buffer, 0, buffer.Length)) > 0)
{
Console.WriteLine(Encoding.UTF8.GetString(buffer, 0, readLength)); //输出读取的字节数
}
}
}
}
}
示例2:从网络流中读取数据
using System;
using System.IO;
using System.Net;
using System.Text;
namespace ReadStream
{
class Program
{
static void Main(string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.baidu.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
byte[] buffer = new byte[1024]; //缓冲区大小
int readLength;
while ((readLength = stream.Read(buffer, 0, buffer.Length)) > 0)
{
Console.WriteLine(Encoding.UTF8.GetString(buffer, 0, readLength)); //输出读取的字节数
}
}
}
}
}
以上是使用Stream.Read方法的完整攻略,希望能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Stream.Read – 从流中读取数据 - Python技术站