二級VB基礎(chǔ)教程:7.2文件的讀寫

字號:

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á)文件尾。