排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256
50010702506256
欢迎加群交流技术
分类:
.NET
string url = "....";
Stream stream = WebRequest.Create(url).GetResponse().GetResponseStream();
const int bufferLen = 512;
byte[] buffer = new byte[bufferLen];//byte缓存区
int count = 0; int offset = 0;
while ((count = stream.Read(buffer, offset, buffer.Length - offset)) > 0) //读取固定长度的流,直到读取完毕
{
offset += count;
if (offset == buffer.Length) //检查是否读取完了,长度想等说明还有内容
{
int nextByte = stream.ReadByte(); //读取下一个字节
if (nextByte == -1)
break;
byte[] newbyte= new byte[buffer.Length * 2]; //还有内容扩大缓存区大小
Array.Copy(buffer, newbyte, buffer.Length);
newbyte[offset] = (byte)nextByte;
buffer = newbyte; //从新指向
offset++;
}
}
byte[] bytes= new byte[offset]; //读取完了 就能获得具体长度,再获取长度内的流
Array.Copy(buffer, bytes, offset);
return bytes;网络流无法确定具体长度,一般通过缓存区来一步一步读取
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价