排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备: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
评价