-
vb.net教程之二進制文件的讀寫操作
- 2015-01-18 13:40 來源:未知
二進制文件的讀寫操作(相關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
二進制文件的打開也用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
最新更新
C#教程之ABP開發手記3 -?解決方案
C#教程之ABP開發手記2 - 體系架構
C#教程之ABP開發手記1 - 開篇
C#教程之C#實現將字符串轉換成代碼并執行
C#教程之C#使用表達式樹動態調用方法并實
C#教程之基于C#的機器學習--機器學習建模
C#教程之VS中常用C#代碼段快速輸入總結
C#教程之C#使用SignalR實現進度條
C#教程之C# 網絡連接中異常斷線的處理:
C#教程之ABP開發手記1 - 開篇
JavaScript教程之Mac安裝vue
JavaScript教程之nodejs + webpack4 + babel6 結合寫
JavaScript教程之Clean Code之JavaScript代碼示例
JavaScript教程之AJAX調用數據,滾動到底部
JavaScript教程之聊聊 Vue 中 title 的動態修改
JavaScript教程之使用JavaScript獲取url中的參
JavaScript教程之前端之json,ajax和jsonp
JavaScript教程之electron——ipcMain模塊、ip
JavaScript教程之前端之移動端庫和框架bo
JavaScript教程之大項目之網上書城(三)—
access數據庫之隨說秋色園從Access升遷到
access數據庫之微信公眾平臺開發(26) ACCE
access數據庫之ACCESS TOKEN
access數據庫之當爬蟲被拒絕時(Access Deni
access數據庫之當爬蟲被拒絕時(Access Deni
access數據庫之使用PowerDesigner生成Access數據
access數據庫之讓ADO.NET Entity Framework 支持
access數據庫之Web API與OAuth:既生access to
access數據庫之[認證 & 授權] 6. Permissi
access數據庫之[認證 & 授權] 6. Permissi