vb.net - 如何将文件流写入文件

时间:2013-06-01 12:39:13

标签: vb.net file stream

我需要一种方法在vb.net中将一个文件的流写入另一个文件,这样整个文件就不必加载到内存中。这就是我想要的:文件1中的流读取字节---> stream将字节附加到文件2。

我将使用多个GB的大文件,所以我需要最有效的方法,并且不想将文件的所有内容加载到内存中。

1 个答案:

答案 0 :(得分:2)

这是一个使用字节数组缓冲区以“块”读取和写入文件的简单示例。您可以决定制作缓冲区的大小:

    Dim bytesRead As Integer
    Dim buffer(4096) As Byte
    Using inFile As New System.IO.FileStream("c:\some path\folder\file1.ext", IO.FileMode.Open, IO.FileAccess.Read)
        Using outFile As New System.IO.FileStream("c:\some path\folder\file2.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