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