vb.net读取二进制文件

时间:2016-03-15 02:07:12

标签: vb.net binary byte

这是我在VB5中使用的。我怎样才能在VB.net(2015)中做同样的事情?

对于所有变量的大小,以下VB5代码读取打开为#2的二进制文件中的前四个字节以填充li(4)数组。

/Sites/httpd-vhosts.conf

然后我调用我的liconvert(a,b,c,d)函数来获得长整数 由文件中的前四个字节表示,并将该数字作为“t”

返回
For i = 1 To 4
mychar = InputB(1, #2) 'Get one character.
li(i) = AscB(mychar)
Next

我从这里做的事情需要更多的代码。我只需要做到这一点。

2 个答案:

答案 0 :(得分:0)

除了jmcilhinney的评论之外,您还可以使用BinaryReader从文件中读取值。见这个例子:

Public Sub ReadBinary()
    Using strm As New FileStream("c:\test\filename.bin", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
        Using rdr As New BinaryReader(strm)
            'Read integer and byte vaules from the file
            Dim i As Integer = rdr.ReadInt32()
            Dim l As Long = rdr.ReadInt64()
            Dim b As Byte = rdr.ReadByte()

            'Read 100 bytes from the file
            Dim bytes(99) As Byte
            Dim bytesRead As Integer = rdr.Read(bytes, 0, 100)
        End Using
    End Using
End Sub
除了这里显示的方法之外,

BinaryReader还有其他方法。

答案 1 :(得分:0)

随着我从你那里开始,我做了更多的工作,发现这个代码似乎完全符合我的需要。

Public Sub ReadBinaryII()
' Get the file name.
Dim file_name As String = "xxx.xxx"
' Open the file.
Dim fs As New FileStream(file_name, FileMode.Open)
' Create a BinaryReader for the FileStream.
Dim binary_reader As New BinaryReader(fs)
fs.Position = 0
' Read the data as a byte array.
Dim bytes() As Byte = binary_reader.ReadBytes(20)
' Print the byte data to a text box
myForm.Txt1.Text = bytes(0) & "/" & bytes(1) & "/" & bytes(2) & "/" & bytes(3)
binary_reader.Close()
fs.Dispose()
End Sub

是否有任何警告或补充?非常感谢!