关于C# Stream.Read的问题
答案:1 悬赏:10 手机版
解决时间 2021-04-03 21:11
- 提问者网友:箛茗
- 2021-04-03 08:21
关于C# Stream.Read的问题
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-04-03 09:02
count = stream.Read(buffer, offset, l - offset);
这个表示,这次从流里读了多少字节,如果没有数据,只为0。表示结束了。追问stream.Read(buffer, offset, l - offset);是处于阻塞状态的。用while不是多余了吗。我看了网上很多高手都这样写。我把while循环去掉了,也一样能下载同样的大小。追答是这样的原理。
流里面的数据是多少,你不知道,如果一次很大的情况,你开多少缓冲区呢?
所以我们一般固定开一个大小byte[1024],如果流里大于 1024,我就要尝试一直读,所以用while,
而while的依据是什么呢,是上次有没有读到数据。count = stream.Read(buffer, offset, l - offset);
这个表示,这次从流里读了多少字节,如果没有数据,只为0。表示结束了。追问stream.Read(buffer, offset, l - offset);是处于阻塞状态的。用while不是多余了吗。我看了网上很多高手都这样写。我把while循环去掉了,也一样能下载同样的大小。追答是这样的原理。
流里面的数据是多少,你不知道,如果一次很大的情况,你开多少缓冲区呢?
所以我们一般固定开一个大小byte[1024],如果流里大于 1024,我就要尝试一直读,所以用while,
而while的依据是什么呢,是上次有没有读到数据。count = stream.Read(buffer, offset, l - offset);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯