2
假设我已执行QNetworkRequest
并获得拨款QNetworkReply
。如果它是一个大文件(比如说1GB),我怎么能创建一个4k字节的数组缓冲区,并将4k的数据读入该数组,并将其同时写入一个打开的文件流? 例如相当于C#代码会是这样(我熟悉C#不QT):从QNetwork读取回复写入文件
public static void CopyStream(Stream input, Stream output)
{
// input is web stream, output is filestream
byte[] buffer = new byte[4096];
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write (buffer, 0, read);
}
}
----编辑
其实我所试图做的是一个下载恢复能力每次运行我的应用程序。每次我尝试恢复下载时,我都设置了QNetworkRequest
的range
标题,并且只是获取其余数据,因此需要一步一步地写入数据。
你看了关于'QNetworkReply :: setReadBufferSize'? – Ilya
@伊利亚我已经添加了一些额外的信息,我想要做什么,你认为'QNetworkReply :: setReadBufferSize'适合我吗?我对Qt不太了解 – epsi1on