注册 登录
编程论坛 C# 论坛

filestream的一个问题

cpxuvs 发布于 2016-05-22 13:42, 2353 次点击
在书上看到一段代码
程序代码:
filestream filestream=new FileStream(Path,FileAccess.Read);
            int number;
            byte[] bye=new byte[8];
            NetworkStream stream=new NetworkStream(mysock);
            while((number=filestream.Read(bye,0,8))!=0)
            {
                stream.Write(bye,0,8);
                stream.Flush();
                bye=new byte[8];
            }
请问为什么while里面还要弄个byte数组?我觉得不需要,是不是写错了?
3 回复
#2
qq10235692232016-05-22 18:33
应该是清空上次读写的数据的作用。
#3
yhlvht2016-05-22 20:52
如2楼所说,确实是清空上次读写数据的作用
因为读到文件最后,很有可能最后一次读到的数据不满8个字节,如果留下上次的数据,那最后一次发送的数据就是有问题的
#4
cpxuvs2016-05-23 12:10
懂了,谢谢。最后的数据没有新数据覆盖,如果不清空,会导致重复写入。是这个意思吧
1