请教下关于 Stream.Read() 方法

abc19960508 2013-01-20 01:47:07

FileStream outputStream = new FileStream("url");
Stream ftpStream = response.GetResponseStream();
int bufferSize = 2048;
byte[] buffer = new byte[bufferSize];
int readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}

我想知道
当执行while上面的int readCount = ftpStream.Read(buffer, 0, bufferSize)时
是从文件的什么位置开始读取的?,这个位置怎么设置?
outputStream.Write也是,比如这次Write了2kb,下次调用这个方法的时候Wirte到文件末尾吗?

因为我是想做断点续传,所以想获取文件Read()进度,当下次调用Read()方法时从上次暂停的位置开始.
如果获取到了上次Read()暂停时的位置,新Read()时从这个位置开始的话,是直接跳转到这个位置,还是从0开始读取到这个位置.
新手,请体谅问题多..
...全文
206 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
abc19960508 2013-01-21
  • 打赏
  • 举报
回复
如果server不能跳的话,还是要读取到断点的位置,断点续传就没什么意义了
abc19960508 2013-01-20
  • 打赏
  • 举报
回复
引用 2 楼 whowhen21 的回复:
server支持的断点续传不是在这里跳过,而是通过请求的某些参数直接指定获取的位置,server就从那个字节开始返回数据。
那么用ser-u做的服务器,c#怎么跳转
whowhen21 2013-01-20
  • 打赏
  • 举报
回复
server支持的断点续传不是在这里跳过,而是通过请求的某些参数直接指定获取的位置,server就从那个字节开始返回数据。
whowhen21 2013-01-20
  • 打赏
  • 举报
回复
普通文件流可以通过Position来设置读取位置,但是NetStream好像不支持跳读,只能一步步读取到上一次那个位置,然后继续写,前面一部分不做任何操作,如果server支持断点续传就行。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧