第十3章 數(shù)據(jù)文件2_第1頁(yè)
第十3章 數(shù)據(jù)文件2_第2頁(yè)
第十3章 數(shù)據(jù)文件2_第3頁(yè)
第十3章 數(shù)據(jù)文件2_第4頁(yè)
第十3章 數(shù)據(jù)文件2_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第1313章章 數(shù)據(jù)文件數(shù)據(jù)文件1.掌握VB中文件的概念、種類及其結(jié)構(gòu);2.掌握順序文件的操作:打開、讀/寫、關(guān)閉;3.掌握隨機(jī)文件的操作:打開、讀/寫、關(guān)閉;4.了解二進(jìn)制文件的操作。5.了解與文件操作有關(guān)的一些語(yǔ)句本章內(nèi)容及要求:二、文件分類二、文件分類根據(jù)訪問(wèn)文件的方式將文件分成3類: 順序文件 隨機(jī)文件 二進(jìn)制文件。 2隨機(jī)文件隨機(jī)文件 隨機(jī)文件(Random Access File)是可以按任意次序讀寫的文件,其中每個(gè)記錄的長(zhǎng)度必須相同。在這種文件結(jié)構(gòu)中,每個(gè)記錄都有其唯一的一個(gè)記錄號(hào),所以在讀取數(shù)據(jù)時(shí),只要知道記錄號(hào),便可以直接讀取記錄。 隨機(jī)文件的文件結(jié)構(gòu)打開文件讀出或?qū)懭腙P(guān)閉

2、文件在程序中對(duì)文件的操作,通常按3個(gè)步驟進(jìn)行: 一、順序文件的打開與關(guān)閉1. 打開文件Open “文件名” For 模式 As #文件號(hào) Len=記錄長(zhǎng)度(1) 模式OUTPUT:寫操作INPUT:讀操作APPEND:追加到文件未尾 OPEN C:VBSCORE.txt FOR OUTPUT AS #1v打開文件的真正含意打開文件的真正含意: (1)并不是把文件內(nèi)容顯示出來(lái),而是讀文件或顯示文并不是把文件內(nèi)容顯示出來(lái),而是讀文件或顯示文件內(nèi)容的必經(jīng)步驟;件內(nèi)容的必經(jīng)步驟; (2)打開文件并不一定只是為了讀文件內(nèi)容而打開,其打開文件并不一定只是為了讀文件內(nèi)容而打開,其實(shí)寫文件或新建文件之前都要把

3、對(duì)應(yīng)的文件打開。實(shí)寫文件或新建文件之前都要把對(duì)應(yīng)的文件打開。v如何打開由用戶任意指定的文件:如何打開由用戶任意指定的文件: (1)用打開用打開/另存為對(duì)話框;另存為對(duì)話框; (2)用文件列表框用文件列表框/目錄列表框目錄列表框/驅(qū)動(dòng)器列表框驅(qū)動(dòng)器列表框 要注意要注意OPEN語(yǔ)句與它們分工上的不同語(yǔ)句與它們分工上的不同1. 順序文件讀操作 從現(xiàn)存文件中讀入數(shù)據(jù),應(yīng)以順序Input方式打開該文件。然后使用 Input# 語(yǔ)句、Line Input# 語(yǔ)句和Input( )函數(shù)讀入到程序變量中。 使用格式如下:格式一:格式一:Input # 語(yǔ)句語(yǔ)句 INPUT #文件號(hào)文件號(hào),變量列表變量列表把讀

4、出的每個(gè)數(shù)據(jù)項(xiàng)分別存放到所對(duì)應(yīng)的變量,從文件中讀出數(shù)據(jù)時(shí),凡是遇到文件中的逗號(hào)、空格或回車符便認(rèn)為是一個(gè)數(shù)據(jù)項(xiàng)的結(jié)束。v例例1:假設(shè)有一個(gè)名為:假設(shè)有一個(gè)名為datain.txt的文本文件,其的文本文件,其內(nèi)容如下:內(nèi)容如下:32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37,共共25個(gè)數(shù),要求程序運(yùn)行后,單擊窗體,將該文個(gè)數(shù),要求程序運(yùn)行后,單擊窗體,將該文件中的數(shù)據(jù)讀入到二維數(shù)組件中的數(shù)據(jù)讀入到二維數(shù)組mat中。在窗體上按中。在窗體上按5行行5列的矩陣形式顯示出來(lái)。列的矩陣形式顯示出來(lái)。Dim

5、 mat(5, 5)Dim I , jOpen App.Path & & datain.txt For Input As #1For i = 1 To 5 For j = 1 To 5 Input #1 , mat(i, j)Next j , iClose #1PrintPrint 初始矩陣為:初始矩陣為:PrintFor i = 1 To 5 For j = 1 To 5 Print Tab(5 * j) ; mat(i, j); Next j PrintNext iFor k=1 to 25 I= k / 5+1 : J=k mod 5 Input #1 , mat(I,J)Next k問(wèn)

6、題:如果把數(shù)據(jù)文件中的數(shù)據(jù)刪掉一個(gè)或者把程序中的5改為4,會(huì)是什么結(jié)果呢?也可改為單循環(huán):Eof 函數(shù)函數(shù) Eof 函數(shù)將返回一個(gè)表示文件指針是否到達(dá)文件函數(shù)將返回一個(gè)表示文件指針是否到達(dá)文件末尾的標(biāo)志。如果到了文件末尾,末尾的標(biāo)志。如果到了文件末尾,Eof 函數(shù)返回函數(shù)返回TRUE(-1),否則返回,否則返回FALSE(0)。 從文件中讀數(shù)據(jù)的常見循環(huán)方式:從文件中讀數(shù)據(jù)的常見循環(huán)方式: Do While Not Eof(文件號(hào)文件號(hào)) 讀文件及其它語(yǔ)句讀文件及其它語(yǔ)句 Loopv例例2:把文件文件:把文件文件datain.txt的內(nèi)容全部讀出并顯示在的內(nèi)容全部讀出并顯示在窗體中:窗體中:O

7、pen App.Path & & datain.txt For Input As #1Do While Not Eof(1) Input #1 , a Print aLoop格式二:格式二:Line Input # 語(yǔ)句語(yǔ)句 LINE INPUT #文件號(hào)文件號(hào) , 字符串變量字符串變量功能:從順序文件中讀取一整行字符到后面指定的字符串變量中。例:把程序文件夾下面的文本文件myfile.txt的內(nèi)容顯示在一個(gè)多行文本框中:Open App.Path & & myfile.txt For Input As #1Do While Not EOF(1) Line Input #1 , s Text1

8、.Text = Text1.Text + s + vbCrLfLoopClose #1格式三:格式三:Input函數(shù):函數(shù): INPUT$(N, #文件號(hào)文件號(hào)) 從指定的文件中讀取N個(gè)字符的字符串,作為函數(shù)的返回值例:把程序文件夾下面的文本文件myfile.txt的內(nèi)容一次性讀出并顯示在多行文本框中:Open App.Path & & myfile.txt For Input As #1Text1.Text = Input( LOF(1) , 1)Close #1函數(shù)功能:求文件的長(zhǎng)度例:把程序文件夾下面的文本文件myfile.txt的內(nèi)容逐個(gè)字符讀出并顯示在多行文本框中。Dim c As

9、String * 1Open App.Path & & myfile.txt“ For Input As #1Do While Not EOF(1) c= Input(1, #1) Text1.Text = Text1.Text & cLoopClose #12、順序文件的寫操作、順序文件的寫操作 向文件寫入內(nèi)容使用向文件寫入內(nèi)容使用 Print # 語(yǔ)句或語(yǔ)句或Write#語(yǔ)句,在程序中是語(yǔ)句,在程序中是數(shù)據(jù)輸出。數(shù)據(jù)輸出。(1)Print語(yǔ)句語(yǔ)句語(yǔ)法格式:說(shuō)明:說(shuō)明:文件號(hào)為以寫方式打開文件的文件號(hào); 輸出列表為用分號(hào)或逗號(hào)分隔的變量、常量、空格和定位函數(shù)序列。 (2)Write命令命令語(yǔ)

10、法格式:Write #,Write語(yǔ)句采用緊湊格式。數(shù)據(jù)項(xiàng)之間插入“,”,并給字符數(shù)據(jù)加上雙引號(hào)。例:例: Print與與Write語(yǔ)句輸出數(shù)據(jù)結(jié)果比較。語(yǔ)句輸出數(shù)據(jù)結(jié)果比較。Private Sub Form_Click()Dim Str As String , Anum As Integer Open D:Myfile.dat For Append As 1Str = ABCDEFGAnum = 12345Print #1 , Str , AnumWrite #1 , Str , AnumClose #1End Sub例:例:編程把一個(gè)文本框中的內(nèi)容,以文件形式存入磁盤。編程把一個(gè)文本框中的

11、內(nèi)容,以文件形式存入磁盤。假定文本框的名稱為假定文本框的名稱為Mytxt,文件名為,文件名為Myfile.dat。方法方法1:把整個(gè)文本框的內(nèi)容一次性地寫入文件。把整個(gè)文本框的內(nèi)容一次性地寫入文件。Open Myfile.dat“ For Output As #1Print #1, Mytxt.TextClose #1方法方法2:把整個(gè)文本框的內(nèi)容一個(gè)字符一個(gè)字符地寫入文件。把整個(gè)文本框的內(nèi)容一個(gè)字符一個(gè)字符地寫入文件。Open Myfile.dat For Output As #1For i=1 To len(Mytxt.Text) Print #1 , Mid(Mytxt.Text,i,1

12、);Next iClose #1三、關(guān)閉文件三、關(guān)閉文件Close 語(yǔ)句使用格式如下: 其中:文件號(hào)列表為可選項(xiàng),如:#1, #2, #3,如果省略,則將關(guān)閉Open語(yǔ)句打開的所有活動(dòng)文件。例如: Close #1,#2,#3 Close 四與讀文件操作有關(guān)的幾個(gè)函數(shù)四與讀文件操作有關(guān)的幾個(gè)函數(shù)(1)Lof 函數(shù)函數(shù) LOF函數(shù)將返回某文件的字節(jié)數(shù)。例如,函數(shù)將返回某文件的字節(jié)數(shù)。例如,LOF(1)返回返回#1文件的長(zhǎng)度,如果文件的長(zhǎng)度,如果返回返回0值,則表示該文件是一個(gè)空文件。值,則表示該文件是一個(gè)空文件。(2)Loc 函數(shù)函數(shù) Loc函數(shù)將返回在一個(gè)打開文件中讀寫的記錄號(hào);對(duì)于二進(jìn)制文件

13、,它將返函數(shù)將返回在一個(gè)打開文件中讀寫的記錄號(hào);對(duì)于二進(jìn)制文件,它將返回最近讀寫的一個(gè)字節(jié)的位置?;刈罱x寫的一個(gè)字節(jié)的位置。(3)Eof 函數(shù)函數(shù) Eof 函數(shù)將返回一個(gè)表示文件指針是否到達(dá)文件末尾的標(biāo)志。如果到了文件函數(shù)將返回一個(gè)表示文件指針是否到達(dá)文件末尾的標(biāo)志。如果到了文件末尾,末尾,Eof 函數(shù)返回函數(shù)返回TRUE(-1),否則返回,否則返回FALSE(0)。 語(yǔ)法結(jié)構(gòu):語(yǔ)法結(jié)構(gòu): Do While Not Eof(文件號(hào)文件號(hào)) 語(yǔ)句語(yǔ)句 Loopv例例1:磁盤上有:磁盤上有f1.txt和和f2.txt兩個(gè)文本文件,要求兩個(gè)文本文件,要求將兩個(gè)文件中的數(shù)據(jù)讀出,并保存到一個(gè)新的文將

14、兩個(gè)文件中的數(shù)據(jù)讀出,并保存到一個(gè)新的文件件f3.txt中。中。v例例2:將一個(gè)文件:將一個(gè)文件f1.txt中的內(nèi)容全部奇數(shù)行和偶中的內(nèi)容全部奇數(shù)行和偶數(shù)行互換后保存到文件數(shù)行互換后保存到文件f4.txt中。中。順序文件應(yīng)用舉例例:順序文件的應(yīng)用舉例. 本程序演示順序文件的讀寫操作,程序運(yùn)行示意如圖所示。該程序可以打開一個(gè)順序文件,將其內(nèi)容讀入文本框中進(jìn)行修改,并可以保存修改。改成可以將文本框的內(nèi)容在磁盤上建立一個(gè)順序文件。順序文件應(yīng)用舉例14.2 順序文件設(shè)置控件事件代碼如下:Private Sub Command1_Click() 本過(guò)程完成文件的讀取功能 Dim File1 Dim ne

15、xtline As String CommonDialog1.Filter= Text Files(.txt)|.txt 指定默認(rèn)文件類型 CommonDialog1.ShowOpen 調(diào)用以CommonDialog1控件打開的對(duì)話框,以輸入要打開的文件名 File1=CommonDialog1.filename 將打開對(duì)話框提供的文件名賦予變量File1 順序文件應(yīng)用舉例Open File1 For Input As #1 按讀方式打開下面循環(huán)可以用語(yǔ)句“Text1.text=Input(LOF(1),1)”替代 Do Until EOF(1) 將打開文本文件的內(nèi)容賦予文本框 Line In

16、put #1 ,nextline Text1.Text=Text1.Text+nextline+Chr(13)+Chr(10) Loop Close 1 關(guān)閉打開的文件End SubPrivate Sub Command2_Click() 本過(guò)程完成將文本框的內(nèi)容寫入文件中 Dim contents ,F(xiàn)ile1 CommonDialog1.showSave 調(diào)用CommandDialog1控件的保存對(duì)話框,以提供建立文件的文件名 File1=CommonDialog1.filename Open File1 For Output As #1 以寫方式打文件 Contents=Text1.Te

17、xt Text1.Text= 清除文本框中的內(nèi)容 Print #1 ,Contents 往文件中寫入內(nèi)容 Close 1 End Sub1.對(duì)于上面的某個(gè)程序界面對(duì)于上面的某個(gè)程序界面,如果需要把窗體上用戶輸入的信息如果需要把窗體上用戶輸入的信息存儲(chǔ)在文件中存儲(chǔ)在文件中,一種辦法是用順序文件的方法一種辦法是用順序文件的方法,把每個(gè)文本框內(nèi)把每個(gè)文本框內(nèi)容作為寫文件語(yǔ)句的一個(gè)輸出項(xiàng)容作為寫文件語(yǔ)句的一個(gè)輸出項(xiàng),即即:Print #1, Text1.Text; Text2.Text; Text3.Text; Text4.Text; Text5.Text; Text6.Text思考思考:用這種方法寫

18、這類程序有什么不便用這種方法寫這類程序有什么不便?2.如果要從存儲(chǔ)有該信息的文件中查找第如果要從存儲(chǔ)有該信息的文件中查找第5個(gè)人的信息個(gè)人的信息,如果用順如果用順序文件的方法去訪問(wèn)文件序文件的方法去訪問(wèn)文件,需要依次讀出前四個(gè)人的信息需要依次讀出前四個(gè)人的信息(即使即使不關(guān)心前四個(gè)人的信息也得讀它不關(guān)心前四個(gè)人的信息也得讀它,讀后可立即丟棄讀后可立即丟棄),然后使用以然后使用以下語(yǔ)句讀出并顯示下語(yǔ)句讀出并顯示:Input #1, Text1.Text, Text2.Text, Text3.Text, Text4.Text, Text5.Text, Text6.Text思考思考:用這種方法寫這類

19、程序有什么不便用這種方法寫這類程序有什么不便?v能否用一種簡(jiǎn)單的方法來(lái)讀寫該類信息文件呢能否用一種簡(jiǎn)單的方法來(lái)讀寫該類信息文件呢,比比如如: Print #1, x (先讓先讓x中存儲(chǔ)有某個(gè)人的信息中存儲(chǔ)有某個(gè)人的信息) Input #1, 5, a (即想用這種簡(jiǎn)單形式的語(yǔ)句讀出文件即想用這種簡(jiǎn)單形式的語(yǔ)句讀出文件中第中第5個(gè)人的信息存儲(chǔ)在個(gè)人的信息存儲(chǔ)在a中中) 注注:上面的兩條語(yǔ)句不是正確的上面的兩條語(yǔ)句不是正確的VB語(yǔ)言的語(yǔ)法語(yǔ)言的語(yǔ)法,在此使在此使用這種形式只是為了表達(dá)一種編程目的用這種形式只是為了表達(dá)一種編程目的v要想使用這種簡(jiǎn)單直觀的編程方式要想使用這種簡(jiǎn)單直觀的編程方式,需要使

20、用隨機(jī)需要使用隨機(jī)文件讀寫的編程技術(shù)文件讀寫的編程技術(shù).14.3 隨機(jī)文件 在文件中以順序文件方式進(jìn)行存取數(shù)據(jù)很方便也很常用,但是當(dāng)需要大量查找或修改文件中的數(shù)據(jù)時(shí)會(huì)很困難,而這時(shí)采用隨機(jī)文件方式存取數(shù)據(jù)就顯得比較方便。 隨機(jī)文件的每一個(gè)數(shù)據(jù)項(xiàng)都有相同的長(zhǎng)度,它的數(shù)據(jù)項(xiàng)通常稱做記錄。隨機(jī)文件是以記錄為單位的,每條記錄都被賦予了記錄號(hào)以便查找。應(yīng)用程序可以根據(jù)記錄號(hào)直接讀取隨機(jī)文件中的任意記錄,而無(wú)須由前至后逐個(gè)讀取記錄。 對(duì)隨機(jī)文件的存取是以記錄為單位進(jìn)行的,每個(gè)記錄包括一個(gè)或多個(gè)字段。具有一個(gè)字段的記錄對(duì)應(yīng)于任一標(biāo)準(zhǔn)類型,比如整數(shù)或定長(zhǎng)字符串。具有多個(gè)字段的記錄對(duì)應(yīng)于用戶自定義類型。 1、

21、聲明記錄類型變量(教材P44-45) 在打開一個(gè)文件進(jìn)行隨機(jī)訪問(wèn)之前,應(yīng)定義一個(gè)類型,該類型對(duì)應(yīng)于該文件包含或?qū)挠涗洝?語(yǔ)法格式為: Private|Public Type 自定義類型名自定義類型名 元素名元素名 As type 元素名元素名 As type End Type 例如,聲明一個(gè)學(xué)生自定義類型。 Type Student Number As String 2 學(xué)號(hào),寬度為2字節(jié) Name As String 8 姓名,寬度為8字節(jié) Score As Integer 成績(jī),寬度為2字節(jié) End Type 在定義與記錄對(duì)應(yīng)的類型以后,應(yīng)接著聲明程序需要的任何其他變量,用來(lái)處理作為

22、隨機(jī)訪問(wèn)而打開的文件。如: Public student1 As student,student2 As student 定義記錄變量13.3 隨機(jī)文件2 隨機(jī)文件的操作 一、打開格式: Open “文件名” For Random Access 存取類型 As #文件號(hào) Len=記錄長(zhǎng)度二、讀操作1.格式: Get #文件號(hào) , 記錄號(hào) ,變量名2.功能: 將一個(gè)已打開的磁盤文件的一條記錄的內(nèi)容讀入一個(gè)變量之中。 忽略記錄號(hào),則讀出當(dāng)前記錄后的那一條記錄。三、寫操作1.格式:Put #文件號(hào)文件號(hào) ,記錄號(hào)記錄號(hào) ,變量名,變量名2.功能:將一個(gè)變量的數(shù)據(jù)寫入磁盤文件中,將一個(gè)記錄變量的內(nèi)容寫

23、到指定的記錄位置處。忽略記錄號(hào),則表示在當(dāng)前記錄后的位置插入一條記錄。v添加記錄的方法添加記錄的方法: 首先計(jì)算出文件中的記錄數(shù)首先計(jì)算出文件中的記錄數(shù):k=LOF(文件號(hào)文件號(hào))/Len(記錄型變量記錄型變量) 然后然后:Put #1, k, x (x為要添加的記錄變量為要添加的記錄變量)v刪除記錄的方法刪除記錄的方法: 把除需刪除記錄之外的所有其它記錄寫到另一個(gè)文件把除需刪除記錄之外的所有其它記錄寫到另一個(gè)文件中中v例:創(chuàng)建一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理信息系統(tǒng):例:創(chuàng)建一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理信息系統(tǒng):(1)學(xué)生信息包括姓名和學(xué)號(hào)等,分班級(jí)存放在不同)學(xué)生信息包括姓名和學(xué)號(hào)等,分班級(jí)存放在不同的文

24、件中,每班對(duì)應(yīng)一個(gè)文件;程序中包括學(xué)生信的文件中,每班對(duì)應(yīng)一個(gè)文件;程序中包括學(xué)生信息管理模塊,可以進(jìn)行簡(jiǎn)單的修改。息管理模塊,可以進(jìn)行簡(jiǎn)單的修改。(2)成績(jī)信息包括學(xué)號(hào)、姓名、成績(jī),每門課每個(gè)班)成績(jī)信息包括學(xué)號(hào)、姓名、成績(jī),每門課每個(gè)班對(duì)應(yīng)一個(gè)文件輸入成績(jī)時(shí),學(xué)生的姓名和學(xué)號(hào)采用對(duì)應(yīng)一個(gè)文件輸入成績(jī)時(shí),學(xué)生的姓名和學(xué)號(hào)采用列表方式選擇輸入。列表方式選擇輸入。(3)成績(jī)分析模塊包括求平均成績(jī)、按成績(jī)檔次統(tǒng)計(jì))成績(jī)分析模塊包括求平均成績(jī)、按成績(jī)檔次統(tǒng)計(jì)人數(shù)等,統(tǒng)計(jì)結(jié)果存放到文件中。人數(shù)等,統(tǒng)計(jì)結(jié)果存放到文件中。例題:創(chuàng)建一個(gè)隨機(jī)文件,然后讀出其中內(nèi)容,顯示在文本框中:例題:創(chuàng)建一個(gè)隨機(jī)文件,然

25、后讀出其中內(nèi)容,顯示在文本框中:在窗體中創(chuàng)建一個(gè)文本框在窗體中創(chuàng)建一個(gè)文本框text1,兩個(gè)命令按鈕,兩個(gè)命令按鈕command1和和command2,點(diǎn)擊,點(diǎn)擊command1(寫入文件)時(shí)創(chuàng)建文件,點(diǎn)擊(寫入文件)時(shí)創(chuàng)建文件,點(diǎn)擊command2(讀出文件)時(shí)把文件中(讀出文件)時(shí)把文件中的數(shù)據(jù)讀出來(lái),顯示在文本框中。下面是程序代碼:的數(shù)據(jù)讀出來(lái),顯示在文本框中。下面是程序代碼:自定義數(shù)據(jù)類型(記錄類型,在窗體的通用代碼段中聲明)自定義數(shù)據(jù)類型(記錄類型,在窗體的通用代碼段中聲明)Private Type Record ID As Integer Name As String * 20 E

26、nd Type創(chuàng)建文件的代碼,創(chuàng)建文件的代碼,Command1的單擊事件的單擊事件Private Sub Command1_Click() Dim MyRecord As Record Open TESTFILE For Random As #1 Len = Len(MyRecord) For recordnumber = 1 To 5 MyRecord.ID = recordnumber MyRecord.Name = My Name & recordnumber Put #1, recordnumber, MyRecord Next recordnumberClose #1End Sub讀

27、出文件的代碼(讀出文件的代碼(Command2的單擊事件)的單擊事件)Private Sub Command2_Click()Dim MyRecord As RecordOpen TESTFILE For Random As #1 Len = Len(MyRecord)While Not EOF(1) Get #1, , MyRecord Text1.Text=Text1.Text & Chr(10) & Chr(13) & Chr(10) & Chr(13) & MyRecord.ID & & MyRecord.NameWendClose #1End Sub 二進(jìn)制文件是一個(gè)字節(jié)流,文件系統(tǒng)

28、并不解釋各字節(jié)的意義,解釋工作由具體的應(yīng)用程序完成。 以二進(jìn)制方式訪問(wèn)文件有下述特點(diǎn): 可以直接訪問(wèn)文件中的所有數(shù)據(jù)。 由應(yīng)用程序根據(jù)需要解釋數(shù)據(jù)的意義。 訪問(wèn)文件的語(yǔ)句不更改原始數(shù)據(jù)的所有內(nèi)容。 二進(jìn)制文件每一次讀寫是以字節(jié)為單位對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)操作的,它允許用戶讀寫或修改文件中的任何字節(jié)信息。當(dāng)把二進(jìn)制數(shù)據(jù)寫入文件中時(shí),使用Byte數(shù)據(jù)類型的數(shù)組,而不是String變量。String被認(rèn)為包含的是字符,而二進(jìn)制型數(shù)據(jù)可能無(wú)法正確地存儲(chǔ)在String變量中。 當(dāng)要保持文件的尺寸盡量小時(shí),應(yīng)使用二進(jìn)制文件。13.4 二進(jìn)制文件一、二進(jìn)制文件的打開Open 文件名 For Binary As #文件號(hào)二、二進(jìn)制文件的寫操作Put #文件號(hào),位置,變量名寫入長(zhǎng)度等于變量長(zhǎng)度的數(shù)據(jù)。三、二進(jìn)制文件的讀操作GET #文件號(hào),位置,變量名 從指定位置開始讀出長(zhǎng)度等于變量長(zhǎng)度的數(shù)據(jù)存入變量中,數(shù)據(jù)讀出后移動(dòng)變量長(zhǎng)度位置,如果忽略位置,則

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論