Ⅰ vb 二進制文件讀寫
Dim bytes() As Byte
dim lLength as Long
Open "c:\main.exe" For Binary As #1 '讀取位元組
lLength=LOF(1)
ReDim bytes(1 To lLength) As Byte
Get 1, , bytes
Close #1
'將文件以十六進制方式輸出到Text1中,這個過程很耗時,130K的文件大概需要2分鍾,而且越到後面速度越慢
Dim strTmp As String
For i = 1 To lLength
strTmp = strTmp & " " & Hex(bytes(i))
DoEvents
Next
Text1.Text = strTmp
Open "d:\abcd.exe" For Binary As #1 '將位元組轉存
Put 1, , bytes
Close #1
End Sub
Ⅱ VB讀寫INI文件
'API函數的聲明
'ini配置文件
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'自定義函數
'讀取/設置ini配置文件
Private Function GetIniS(FilePath As String, SectionName As String, KeyWord As String, DefString As String) As String
Dim ResultString As String * 255, Temp As Long
Dim s As String, i As Integer
Temp = GetPrivateProfileString(SectionName, KeyWord, "", ResultString, 255, FilePath)
If Temp > 0 Then '關鍵詞的值不為空
s = ""
For i = 1 To 255
If Asc(Mid(ResultString, i, 1)) = 0 Then
Exit For
Else
s = s & Mid(ResultString, i, 1)
End If
Next i
Else
If DefString <> "" Then
'將預設值寫入INI文件
Temp = WritePrivateProfileString(SectionName, KeyWord, DefString, FilePath)
s = DefString
End If
End If
GetIniS = s
End Function
Private Function GetIniN(FilePath As String, SectionName As String, KeyWord As String, DefValue As Long) As Long
Dim d As Long, s As String
d = DefValue
GetIniN = GetPrivateProfileInt(SectionName, KeyWord, DefValue, FilePath)
'If d <> DefValue Then
' s = CStr(d)
' d = WritePrivateProfileString(SectionName, KeyWord, s, FilePath)
'End If
End Function
Private Sub SetIniS(FilePath As String, SectionName As String, KeyWord As String, ValStr As String)
Dim res As Long
res = WritePrivateProfileString(SectionName, KeyWord, ValStr, FilePath)
End Sub
Private Sub SetIniN(FilePath As String, SectionName As String, KeyWord As String, ValLon As Long)
Dim res As Long, s As String
s = CStr(ValLon)
res = WritePrivateProfileString(SectionName, KeyWord, s, FilePath)
End Sub
'讀取過程
Private Sub Command1_Click()
Dim fname As String
Dim SectionName As String, KeyWord As String, DefString As String, DefValue As Long
Dim s As String, sValue As String
Dim i As Integer, j As Integer
Dim Result() As String
fname = "......" '你所要讀取的文件(包括其絕對路徑)
SectionName = "KeyName" '欄位
KeyWord = "Key" '相同的部分
DefString = "???" '一般為空字元,我這里是用於區分Value1為空是是否繼續進行用的
i = 0
j = -1
Do
i = i + 1
s = KeyWord & CStr(i)
sValue = GetIniS(fname, SectionName, KeyWord, DefString)
If sValue <> DefString Then
j = j + 1
ReDim Preserve Result(j)
Result(j) = sValue
Else
Exit Do
End If
Loop
End Sub
你再結合自己的具體情況,修改下就行了
Ⅲ 如何用vb寫文件操作
1、Open 文件名 [For方式] [Access存取類型] [鎖定] AS [#]文件號 [Len=記錄長度]
功能:為文件的輸入輸出分配緩沖區,並確定緩沖區所使用的存取方式
說明:
1) 方式:指定文件的輸入輸出方式,可選,默認是Random,可以是以下值
a、 Output:指定順序輸出方式,將覆蓋原有內容
b、 Input:指定順序輸入方式
c、 Append:指定順序輸出方式,在文件未尾追加內容
d、 Random:指定隨機存取方式,也是默認方式,在Random方式時,如果沒有Access子句,則在執行Open語句時,VB將按下列順序打開文件:讀/寫、只讀、只寫
e、 指定二進制文件。在這種方式下,可以用Get和Put語句對文件中任何位元組位置的信息進行讀寫。在Binary方式中,如果沒有Access子句,則打開文件的類型與Random方式相同
2)、存取類型:放在關鍵字Access之後,用來指定訪問文件的類型。可以是下列類型之一
a、 Read:打開只讀文件
b、Write:打開只寫文件
c、 Read Write:打開讀寫文件。這種類型只對隨機文件、二進制文件及用Append方式打開的文件有效
3)、鎖定:該子句只在多用戶或多進和環境中使用,用來限制其他用戶或其他進程對打開進行讀寫操作。鎖定類型包括:
a、 默認:如不指定鎖定類型,則本進程可以多次打開文件進行讀寫;在文件打開期間,其他進程不能對該文件執行讀寫操作
b、Lock Shared:任何機器上的任何進程都可以對該文件進行讀寫操作
c、 Lock Read:不允許其他進程讀該 文件。只在沒有其他Read存取類型的進程訪問該文件時,才允許這種鎖定。
d、Lock Write:不允許其他進程寫這個文件。只在沒有其他Write存取類型的進程訪問該文件時,才允許這種鎖定
e、 Lock Read Write:不允許其他進程讀寫這個文件
如果不使用lock子句,則默認為Lock Read write
4)、文件號:由用戶自行指定一個由1~511之間的整數,只要該文件號未被使用就合法;打開文件後,可以用該文件號進行讀寫等操作
5)、記錄長度:是一個整型表達式。當選擇該參量時,為隨機存取文件設置記錄長度。對於用隨機訪問方式打開的文件,該值是記錄長度;對於順序文件,該值是緩沖字元數。」記錄長度」不能超過32767位元組。對於二進制文件,將忽略Len子句
舉例:Open 「price.dat」 for Output as #1
Open 「C:\abc.dat」 for radom as #1 len=256
2、Close [#文件號][,#文件號]……:關閉文件
3、Seek #文件號,位置:文件指針跳到指定位置,以位元組為單位。取值1~pow(2,31)-1
4、Seek (文件號):返回當前文件指針的位置
5、FreeFile():取得一個未使用的文件號
6、Loc(文件號):返回指定文件的當前讀寫位置
7、LOF(文件號):返迴文件長度
8、EOF(文件號):用來測試文件是否結束,結束返回true
9、Print #文件號,變數1,變數2,…變數n:按順序將各變數的值寫入順序文件
如果是print #文件號,則寫入空行
10、 Write #文件號,表達式表…:作用同 Print
11、 Input #文件號,變數表….:讀順序文件,進行與Print相反的操作
12、 Line Input #文件號,字元串變數:從順序文件中讀入一行
13、 Input$(n,#文件號):從順序文件讀出 n個字元的字元串
14、 Put #文件號,[記錄號],變數:把除對象變數和數組變數外的任何變數(包括弧含有單個數組元素的下標變數)的內容寫入隨機文件。
例如:Put #2,,filebuff
15、 Get #文件號,[記錄號],變數:讀隨機文件,執行與put相反的操作
16、 Get|put #文件號,[位置],變數:讀寫二制文件,位置是指下一次讀寫操作的位置。
17、 Kill 文件名:刪除文件
18、 FileCopy 源文件名,目標文件名:復制文件
19、 Name原文件名 as 新文件名:重命令文件
Ⅳ VB.NET 怎麼讀寫二進制文件,類似Open
'從文件指定位置讀取數據
dim fn as new io.filestream("e:\123.mp3", IO.FileMode.Open)
dim fr as new io.binaryreader(fn)
fr.BaseStream.Position = 1000 '從1000位元組處開始讀取文件
dim data() as byte= fr.ReadBytes(2000) '讀取2000個位元組至data()數組
fr.close
fn.close
'在文件指定位版置寫權入數據
dim fn as new io.filestream("e:\123.mp3", IO.FileMode.Open)
dim fr as new io.binarywriter(fn)
fr.BaseStream.Position = 1000 '從1000位元組處開始讀取文件
fr.write(data) '將data數組寫入文件
fr.close
fn.close
'關鍵在於這句:fr.BaseStream.Position = 1000 ,即將文件流的指針移動到1000位元組處,然後再根據自己的要求操作即可。
Ⅳ vb.net二進制怎麼讀取文件
一、二進制文件讀寫
1、寫二進制數據到指定目錄
Ⅵ VB中如何讀寫文件 謝謝了
用open
open <文件名>[for 打開方式] as [#]<文件號>
打開方式有三種
(1)input:向計算機輸入數據,即從所打開的文件中讀取數據。
(2)output:向文件寫數據,即從計算機向所打開的文件寫數據。如果文件中原來已有數據,則原有數據被抹去,即新寫上的數據覆蓋已有的數據。
(3)append:向文件添加數據,即從計算機向所打開的文件寫數據。不同於output方式的是,append方式把新的數據添加到文件尾部原有數據的後邊,文件中保留原有數據。
AS是一個關鍵字,as引導的短語為打開的文件指定一個文件號。#號是可選項。文件號是一個1~511之間的整數。文件號用來代表所打開的文件。
例如:打開c:\a.txt文件
open "c:\a.txt" for output as #1
向文件寫數據用print和write語句:
print #<文件號>[,輸出表列]
write #<文件號>〔,輸出表列]
例如向上面打開的文件寫數據
print #1,"a";"b";"c"
close #1
文件里顯示為:
abc
Ⅶ VB 怎樣將文本框的數據讀取和保存到文本文件中
VB將文本框的數據讀取和保存到文本文件中,實際上就是VB對txt的讀寫操作。
相關代碼如下:
1、vb讀取txt文件內容,以下代碼實現把電腦txt中的內容讀取到程序文本框text1中。
Private Sub Command1_Click()
Open App.Path & "\123.txt" For Input As #1 '備註:App.Path & "\123.txt"是程序目錄下的123.txt
Dim Lines As String
Line Input #1, Lines '讀取文本內容
Close #1
text1.Text = Lines
End Sub
2、vb寫入txt內容,實現文本框的數據寫入到文本文件中。
Private Sub Command2_Click()
Dim a As String
a = text1.Text '先讀取出text1內容
Open App.Path & "\123.txt" For Output As #1
Print #1, a '把a的值寫入123.txt
Close #1
End Sub