文件的讀寫
1. 文件的有關(guān)概念
記錄:計算機處理數(shù)據(jù)的基本單位,由若干個相互關(guān)聯(lián)的數(shù)據(jù)項組成。相當(dāng)于表格中的一行。
文件:記錄的集合,相當(dāng)于一張表。
文件類型:順序文件、隨機文件、二進(jìn)制文件。
訪問模式:計算機訪問文件的方式,VB中有順序、隨機、二進(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á)文件尾。
例:將一個文本文件讀入文本框的三種方法。
3.隨機訪問模式
該模式要求文件中的每條記錄的長度都是相同的,記錄與記錄之間不需要特殊的分隔符號。只要給出記錄號,可以直接訪問某一特定記錄,其優(yōu)點是存取速度快,更新容易。
(1) 打開與關(guān)閉
打開:Open “文件名” For Random As [#] 文件號 [Len=記錄長度]
關(guān)閉:Close #文件號
注意:文件以隨機方式打開后,可以同時進(jìn)行寫入和讀出操作,但需要指明記錄的長度,系統(tǒng)默認(rèn)長度為128個字節(jié)。
(2)讀與寫
讀操作:Get [#]文件號,[記錄號],變量名
說明:Get命令是從磁盤文件中將一條由記錄號指定的記錄內(nèi)容讀入記錄變量中;記錄號是大于1的整數(shù),表示對第幾條記錄進(jìn)行操作,如果忽略不寫,則表示當(dāng)前記錄的下一條記錄。
寫操作:Put [#]文件號,[記錄號],變量名
說明:Put命令是將一個記錄變量的內(nèi)容,寫入所打開的磁盤文件指定的記錄位置;記錄號是大于1的整數(shù),表示寫入的是第幾條記錄,如果忽略不寫,則表示在當(dāng)前記錄后插入一條記錄。
4. 二進(jìn)制訪問模式
打開:Open “文件名” For Binary As [#] 文件號 [Len=記錄長度]
關(guān)閉:Close #文件號
該模式是最原始的文件類型,直接把二進(jìn)制碼存放在文件中,沒有什么格式,以字節(jié)數(shù)來定位數(shù)據(jù),允許程序按所需的任何方式組織和訪問數(shù)據(jù),也允許對文件中各字節(jié)數(shù)據(jù)進(jìn)行存取和訪問。
該模式與隨機模式類似,其讀寫語句也是Get 和Put,區(qū)別是二進(jìn)制模式的訪問單位是字節(jié),隨機模式的訪問單位是記錄。在此模式中,可以把文件指針移到文件的任何地方,剛開始打開時,文件指針指向第一個字節(jié),以后隨文件處理命令的執(zhí)行而一旦。文件一旦打開,就可以同時進(jìn)行讀寫。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |