VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 批处理教程 >
  • vb.net教程之二进制文件的读写操作

二进制文件的读写操作(相关vb.net教程)
二进制文件的打开也用fileopen完成,只是打开二进制文件的形式为:openmode.binary
读取二进制文件用的是fileget方法,写入二进制文件用的是fileput方法。
应用实例:将一批随机数保存在一个dat文件中,然后再将其提取到文本框中。[实验报告 39]
见,二进制文件的读写一批随机数的存取,程序为:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim x, i, fn As Integer
        Dim s As String = ""
        fn = FreeFile()
        FileOpen(fn, "d:\data.dat", OpenMode.Binary)
        For i = 1 To 8
            x = Int(Rnd() * 100)
            s = s + Str(x)
            FilePut(fn, x)
        Next
        FileClose(fn)
        TextBox1.Text = s
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim x, fn As Integer
        Dim s As String = ""
        fn = FreeFile()
        FileOpen(fn, "d:\data.dat", OpenMode.Binary)
        Do While Not EOF(fn)
            FileGet(fn, x)
            s = s + Str(x) + " "
        Loop
        FileClose(fn)
        TextBox1.Text = s
    End Sub
说明:此时形成的文件data.dat如果打开查看,内容是乱码。因为它是以二进制的形式存放的。即使将文件名换成da.txt,结果也是一样不能查看内容。
应用实例:演示二进制文件以字节为单位的复制过程。[实验报告 40]
见,二进制文件以字节为单位的复制过程,程序为:
Public Class Form1
    Dim s As String
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        OpenFileDialog1.ShowDialog()
        s = OpenFileDialog1.FileName
        TextBox1.Text = s
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fa, fb As String
        Dim a, b, len, k As Integer
        Dim byt As Byte
        ' Try
        fa = TextBox1.Text : fb = TextBox2.Text
        a = FreeFile()
        FileOpen(a, fa, OpenMode.Binary)
        b = FreeFile()
        FileOpen(b, fb, OpenMode.Binary)
        len = LOF(a)
        For k = 1 To len
            FileGet(a, byt)
            FilePut(b, byt)
            ProgressBar1.Value = 100 * k \ len
        Next
        FileClose(a)
        FileClose(b)
        ss = "文件复制完成!" & "文件长度为:" & len & "字节"
        MsgBox(ss, 16, "注意")      
 End
        'Catch ex As Exception
        'MsgBox(ex.Message, MsgBoxStyle.OkOnly, "error")
        ' End Try
    End Sub
End Class

相关教程