1. 文件的有關(guān)概念
記錄:計算機(jī)處理數(shù)據(jù)的基本單位,由若干個相互關(guān)聯(lián)的數(shù)據(jù)項組成。相當(dāng)于表格中的一行。
文件:記錄的集合,相當(dāng)于一張表。
文件類型:順序文件、隨機(jī)文件、二進(jìn)制文件。
訪問模式:計算機(jī)訪問文件的方式,VB中有順序、隨機(jī)、二進(jìn)制三種訪問模式。
2. 順序訪問模式
順序訪問模式的規(guī)則最簡單,指讀出或?qū)懭霑r,從第一條記錄“順序”地讀到最后一條記錄,不可以跳躍式訪問。該模式專門用于處理文本文件,每一行文本相當(dāng)于一條記錄,每條記錄可長可短,記錄與記錄之間用“換行符”來分隔。
順序文件的寫入步驟:打開、寫入、關(guān)閉; 讀出步驟:打開、讀出、關(guān)閉。
(1)打開文件
打開文件的命令是Open,格式為:
Open “文件名” For 模式 As [#] 文件號 [Len=記錄長度]
說明:
1)文件名可以是字符串常量也可以是字符串變量
2)模式可以是下面之一:
OutPut:打開一個文件,將對該文件進(jìn)行寫操作
Input:打開一個文件,將對該文件進(jìn)行讀操作
Append:打開一個文件,將在該文件末尾追加記錄
3) 文件號是一個介于1-511之間的整數(shù),打開一個文件時需要指定一個文件號,這個文件號就代表該文件,直到文件關(guān)閉后這個號才可以被其他文件所使用。可以利用FreeFile()函數(shù)獲得下一個可以利用的文件號。
例: Open "D:\sj\aaa" For Output As #1
意思是:打開D:\SJ下aaa文件供寫入數(shù)據(jù),文件號為#1
(2)寫操作
將數(shù)據(jù)寫入磁盤文件所用的命令是:Write# 或Print#。
語法格式:
1) Print #文件號,[輸出列表]
例: Open “D:\SJ\TEST.DAT” For Output As #1
Print #1,Text1.Text '把文本框的內(nèi)容一次性寫入文件
Close #1
2)Write #文件號,[輸出列表]
其中的輸出列表一般指用逗號,分隔的數(shù)值或字符串表達(dá)式。Write #與Print #的功能基本相同,區(qū)別是Write #是以緊湊格式存放,在數(shù)據(jù)間插入逗號,并給字符串加上雙引號。
(3) 關(guān)閉文件
結(jié)束各種讀寫操作后,必須將文件關(guān)閉,否則會造成數(shù)據(jù)丟失。關(guān)閉文件的命令是Close。
Close [#]文件號[,[#]文件號]……
例: Close #1,#2,#3
(4) 讀操作
1) Input #文件號,變量列表
作用:將從文件中讀出的數(shù)據(jù)分別賦給指定的變量。
注意:與Write #配套才可以準(zhǔn)確地讀出。
2)Line Input #文件號,字符串變量
用于從文件中讀出一行數(shù)據(jù),并將讀出的數(shù)據(jù)賦給指定的字符串變量,讀出的數(shù)據(jù)中不包含回車符和換行符,可與Print #配套用。
3)Input$(讀取的字符數(shù),#文件號)
該函數(shù)可以讀取指定數(shù)目的字符。
與讀文件有關(guān)的兩個函數(shù):
LOF():返回某文件的字節(jié)數(shù)
EOF():檢查指針是否到達(dá)文件尾。
記錄:計算機(jī)處理數(shù)據(jù)的基本單位,由若干個相互關(guān)聯(lián)的數(shù)據(jù)項組成。相當(dāng)于表格中的一行。
文件:記錄的集合,相當(dāng)于一張表。
文件類型:順序文件、隨機(jī)文件、二進(jìn)制文件。
訪問模式:計算機(jī)訪問文件的方式,VB中有順序、隨機(jī)、二進(jìn)制三種訪問模式。
2. 順序訪問模式
順序訪問模式的規(guī)則最簡單,指讀出或?qū)懭霑r,從第一條記錄“順序”地讀到最后一條記錄,不可以跳躍式訪問。該模式專門用于處理文本文件,每一行文本相當(dāng)于一條記錄,每條記錄可長可短,記錄與記錄之間用“換行符”來分隔。
順序文件的寫入步驟:打開、寫入、關(guān)閉; 讀出步驟:打開、讀出、關(guān)閉。
(1)打開文件
打開文件的命令是Open,格式為:
Open “文件名” For 模式 As [#] 文件號 [Len=記錄長度]
說明:
1)文件名可以是字符串常量也可以是字符串變量
2)模式可以是下面之一:
OutPut:打開一個文件,將對該文件進(jìn)行寫操作
Input:打開一個文件,將對該文件進(jìn)行讀操作
Append:打開一個文件,將在該文件末尾追加記錄
3) 文件號是一個介于1-511之間的整數(shù),打開一個文件時需要指定一個文件號,這個文件號就代表該文件,直到文件關(guān)閉后這個號才可以被其他文件所使用。可以利用FreeFile()函數(shù)獲得下一個可以利用的文件號。
例: Open "D:\sj\aaa" For Output As #1
意思是:打開D:\SJ下aaa文件供寫入數(shù)據(jù),文件號為#1
(2)寫操作
將數(shù)據(jù)寫入磁盤文件所用的命令是:Write# 或Print#。
語法格式:
1) Print #文件號,[輸出列表]
例: Open “D:\SJ\TEST.DAT” For Output As #1
Print #1,Text1.Text '把文本框的內(nèi)容一次性寫入文件
Close #1
2)Write #文件號,[輸出列表]
其中的輸出列表一般指用逗號,分隔的數(shù)值或字符串表達(dá)式。Write #與Print #的功能基本相同,區(qū)別是Write #是以緊湊格式存放,在數(shù)據(jù)間插入逗號,并給字符串加上雙引號。
(3) 關(guān)閉文件
結(jié)束各種讀寫操作后,必須將文件關(guān)閉,否則會造成數(shù)據(jù)丟失。關(guān)閉文件的命令是Close。
Close [#]文件號[,[#]文件號]……
例: Close #1,#2,#3
(4) 讀操作
1) Input #文件號,變量列表
作用:將從文件中讀出的數(shù)據(jù)分別賦給指定的變量。
注意:與Write #配套才可以準(zhǔn)確地讀出。
2)Line Input #文件號,字符串變量
用于從文件中讀出一行數(shù)據(jù),并將讀出的數(shù)據(jù)賦給指定的字符串變量,讀出的數(shù)據(jù)中不包含回車符和換行符,可與Print #配套用。
3)Input$(讀取的字符數(shù),#文件號)
該函數(shù)可以讀取指定數(shù)目的字符。
與讀文件有關(guān)的兩個函數(shù):
LOF():返回某文件的字節(jié)數(shù)
EOF():檢查指針是否到達(dá)文件尾。