0

我需要直接将一个文件附加到另一个文件的末尾,但我不想将整个文件加载到内存中,并且使用缓冲区接缝比直接方法要慢得多......(要附加实际字节,而不是文本文件...)

4

1 回答 1

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

Append 如果文件存在则打开文件并查找文件末尾,或创建一个新文件。这需要 FileIOPermissionAccess.Append 权限。FileMode.Append 只能与 FileAccess.Write 结合使用。试图在文件结尾之前寻找一个位置会引发 IOException 异常,并且任何读取尝试都会失败并引发 NotSupportedException 异常。

于 2013-06-18T14:41:19.063 回答