2010-09-10 231 views
1

如何將Byte [] buf寫入文件而不將其轉換爲字符串?將流保存到文件

public Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) 
{ 
    SockBuff = SockBuff + System.Text.Encoding.UTF8.GetString(buf); 
    return size * nmemb; 
} 

一直在努力尋找可以工作數小時的東西。

回答

1

使用上面的答案,如果你只是想沒有什麼單一的文件,但你的字節的緩衝區,如果你想要做多字節的緩衝區寫入一個文件,雖然,我寫字節像這樣:

using (StreamWriter myStreamWriter = new StreamWriter(filePath)) 
{ 
    // Some logic or something, who knows 
    myStreamWriter.BaseStream.Write(byteBuffer1, 0, byteBuffer1.Length); 
    // Some logic or something, who knows 
    myStreamWriter.BaseStream.Write(byteBuffer2, 0, byteBuffer2.Length); 
} 
+0

工作很好! – user444434 2010-09-10 19:56:53

+0

@ user444434:記住寫入基本流時,如果寫入StreamWriter本身,則需要刷新,否則StreamWriters內​​部緩衝區和基本流可能會不同步。 – 2010-09-10 20:00:24

2

System.IO.File.WriteAllBytes