【发布时间】:2012-11-23 20:04:45
【问题描述】:
我有这个函数可以在 bin 文件中写入字节。
Public Shared Function writeFS(path As String, count As Integer) As Integer
Using writer As New BinaryWriter(File.Open(path, FileMode.Open, FileAccess.Write, FileShare.Write), Encoding.ASCII)
Dim x As Integer
Do Until x = count
writer.BaseStream.Seek(0, SeekOrigin.End)
writer.Write(CByte(&HFF))
x += 1
Loop
End Using
Return -1
End Function
我有一个 count 值的文本框。 Count 是要写入文件的字节数。
问题是当我想写 1mb+ 时,由于循环需要 10+ 秒。
我需要一种更好/更快的方法来在文件 'value' 次的末尾写入十六进制值 FF。
如果我没有很好地解释,我很抱歉。
【问题讨论】:
-
你为什么要这么做
writer.BaseStream.Seek(0, SeekOrigin.End)? -
您是追加到现有文件还是创建新文件?请注意,在每个
Write之后,它已经在文件的末尾。 -
我正在追加一个现有文件。