首页 > 代码库 > Stream Read
Stream Read
看过很多回 关于 stream read(byte[] buffer, int offset, int count)
有个问题一直没注意过
offset + count 不能超过 buffer的长度
所以
FileStream stream = new FileStream(txtAttachments.Text, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); byte[] bytes = new byte[stream.Length]; int numRead = 0; int count = 50 > bytes.Length ? bytes.Length : 50; int numToRead = bytes.Length; int offset = 0; while (numToRead > 0) { numRead = stream.Read(bytes, offset, count); if (numRead == 0) break; numToRead = numToRead - numRead; offset = offset + numRead; if (numToRead < count) count = numToRead; } stream.Close();
有个问题没想明白,如果文件长度1000, 我请求900,难道它会只返回700?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。