我需要一种方法来流写从一个文件到另一个在vb.net,使整个文件不必在内存中加载。这就是我想要的:流读取文件1中的字节->流写入附加字节到文件2。
我将处理大文件,多个GB,所以我需要最有效的方式来做它,并且不想将文件的所有内容加载到内存。
下面是一个使用字节数组缓冲区读取和写入"块"文件的简单示例。你可以决定缓冲区的大小:
Dim bytesRead As Integer
Dim buffer(4096) As Byte
Using inFile As New System.IO.FileStream("c:some pathfolderfile1.ext", IO.FileMode.Open, IO.FileAccess.Read)
Using outFile As New System.IO.FileStream("c:some pathfolderfile2.ext", IO.FileMode.Create, IO.FileAccess.Write)
Do
bytesRead = inFile.Read(buffer, 0, buffer.Length)
If bytesRead > 0 Then
outFile.Write(buffer, 0, bytesRead)
End If
Loop While bytesRead > 0
End Using
End Using