2013-06-18 54 views
0

我需要一個文件直接附加到另一端部,但我不想要加載整個文件存入存儲器中,使用緩衝器接縫要慢得多比直接的辦法......(實際字節要追加,而不是文本文件...)vb.net如何可以附加一個文件到另一

+0

[C#追加字節數組到現有文件]的可能重複(http://stackoverflow.com/questions/6862368/c-sharp-append-byte-array-to-existing-file) –

+0

這是VB .net ... – Daniel

回答

1

您可以使用FileMode.Append

Using reader = File.OpenRead(pathRead) 
    Using writer = New FileStream(pathWrite, FileMode.Append) 
     Dim b = reader.ReadByte() 
     While b <> -1 
      writer.WriteByte(CByte(b)) 
      b = reader.ReadByte() 
     End While 
    End Using 
End Using 

追加打開該文件,如果它存在並尋求到文件末尾 或創建一個新文件。這需要FileIOPermissionAccess.Append 權限。 FileMode.Append只能與 FileAccess.Write一起使用。在 文件結束之前嘗試尋找位置會引發IOException異常,並且任何嘗試讀取的操作都會失敗 並引發NotSupportedException異常。

+0

好,但是從源文件讀取呢?我將需要將一個文件的內容追加到另一個文件的末尾,而不一次全部讀取到內存中,因此它的流部分... – Daniel

+0

@DanielVallandTorgrimsen:看看,編輯我的答案以提供流媒體方式。但是,沒有完全測試。 –

+0

它接縫複製每個字節在一個循環..你確定這是最有效的方式?謝謝:) – Daniel

相關問題