計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第十一章 文件_第1頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第十一章 文件_第2頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第十一章 文件_第3頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第十一章 文件_第4頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第十一章 文件_第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)介

第 11章 數(shù)據(jù)文件 類及其結(jié)構(gòu); 開(kāi)、讀 /寫、關(guān)閉; 開(kāi)、讀 /寫、關(guān)閉; 本章內(nèi)容及要求: 本章重點(diǎn): 順序文件的操作:打開(kāi)、讀 /寫、關(guān)閉; 隨機(jī)文件的操作 :打開(kāi)、讀 /寫、關(guān)閉; 本章難點(diǎn): 隨機(jī)文件、二進(jìn)制文件的操作 第 11章 數(shù)據(jù)文件 文件是存儲(chǔ)在外部介質(zhì)(如磁盤)上的以文件名標(biāo)識(shí)的數(shù)據(jù)的集合。通常由一組存放在磁盤上的相關(guān)字節(jié)組成。當(dāng)應(yīng)用程序要訪問(wèn)文件時(shí),必須自己決定文件中字節(jié)的意義(比如,表示字符、數(shù)據(jù)記錄、整數(shù)、字符串等等)。 存儲(chǔ)在磁盤上的文件稱為磁盤文件,與計(jì)算機(jī)相連的設(shè)備稱為設(shè)備文件。這些文件都不在計(jì)算機(jī)內(nèi),統(tǒng)稱為外部文件。 一、文件及其結(jié)構(gòu) 文件: 存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合。按名存取 磁盤文件是由數(shù)據(jù)記錄組成 。記錄是計(jì)算機(jī)處理數(shù)據(jù)的基本單位,它由一組具有共同屬性相互關(guān)聯(lián)的數(shù)據(jù)項(xiàng)組成。 學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 物理成績(jī) 總分 數(shù)據(jù)項(xiàng) 文件的概念 記錄 1 記錄 2 記錄 N 文件結(jié)束標(biāo)志 二、文件分類 根據(jù)訪問(wèn)文件的方式將文件分成 3類: 順序文件 隨機(jī)文件 二進(jìn)制文件 。 1 順序文件 順序文件( 普通的文本文件。順序文件中的記錄按順序一個(gè)接一個(gè)地排列。讀寫文件存取記錄時(shí),都必須按記錄順序逐個(gè)進(jìn)行。 一行一條記錄(一項(xiàng)數(shù)據(jù)),記錄可長(zhǎng)可短,以“換行”字符為分隔符號(hào)。 #1 記錄 1 #2 記錄 2 #N 記錄 N 2 隨機(jī)文件 隨機(jī)文件( 是可以按任意次序讀寫的文件,其中每個(gè)記錄的長(zhǎng)度必須相同。在這種文件結(jié)構(gòu)中,每個(gè)記錄都有其唯一的一個(gè)記錄號(hào),所以在讀取數(shù)據(jù)時(shí),只要知道記錄號(hào),便可以直接讀取記錄。 隨機(jī)文件的文件結(jié)構(gòu) 3 二進(jìn)制文件 二進(jìn)制文件( 字節(jié)的集合、它直接把二進(jìn)制碼存放在文件中。 除了沒(méi)有數(shù)據(jù)類型或者記錄長(zhǎng)度的含義以外,它與隨機(jī)訪問(wèn)很相似。 二進(jìn)制訪問(wèn)模式是以字節(jié)數(shù)來(lái)定位數(shù)據(jù),在程序中可以按任何方式組織和訪問(wèn)數(shù)據(jù),對(duì)文件中各字節(jié)數(shù)據(jù)直接進(jìn)行存取。 雖然這 3種文件訪問(wèn)的數(shù)據(jù)類型不同,但應(yīng)用程序訪問(wèn)它們的步驟卻相似: 使用 為文件指定一個(gè)文件號(hào)。對(duì)文件進(jìn)行任何 I/必須經(jīng)過(guò)這步操作。 從文件中讀取部分或全部數(shù)據(jù)到變量中。 對(duì)變量中的數(shù)據(jù)進(jìn)行處理。 將處理后的數(shù)據(jù)保存回文件中。 使用 果沒(méi)有關(guān)閉文件,則會(huì)導(dǎo)致文件中部分或全部信息丟失。 文件的基本操作 打開(kāi)文件 讀出或?qū)懭?關(guān)閉文件 順序文件的基本操作 在程序中對(duì)文件的操作,通常按 3個(gè)步驟進(jìn)行: 一、順序文件的打開(kāi)與關(guān)閉 1. 打開(kāi)文件 “文件名” 式 #文件號(hào) 錄長(zhǎng)度 (1) 模式 操作 操作 加到文件未尾 C: #1 (2) 文件號(hào) 1 511,可以用 (3) 記錄長(zhǎng)度 小于或等于 32767的整數(shù),它指定數(shù)據(jù)緩沖區(qū)的大小。 例如,打開(kāi) C:寫入數(shù)據(jù),指定文件號(hào)為 #1。 例如: “C: #1 “C: #2 “C: #1 打開(kāi)文件的真正含意 : (1)并不是把文件內(nèi)容顯示出來(lái),而是讀文件或顯示文件內(nèi)容的必經(jīng)步驟; (2)打開(kāi)文件并不一定只是為了讀文件內(nèi)容而打開(kāi),其實(shí)寫文件或新建文件之前都要把對(duì)應(yīng)的文件打開(kāi)。 如何打開(kāi)由用戶任意指定的文件: (1)用打開(kāi) /另存為對(duì)話框; (2)用文件列表框 /目錄列表框 /驅(qū)動(dòng)器列表框 要注意 1. 順序文件讀操作 從現(xiàn)存文件中讀入數(shù)據(jù),應(yīng)以順序 開(kāi)該文件。然后使用 語(yǔ)句、 語(yǔ)句和 )函數(shù)讀入到程序變量中。 使用格式如下: 格式一: # 語(yǔ)句 #文件號(hào) , 變量列表 把讀出的每個(gè)數(shù)據(jù)項(xiàng)分別存放到所對(duì)應(yīng)的變量,從文件中讀出數(shù)據(jù)時(shí),凡是遇到文件中的逗號(hào)、空格或回車符便認(rèn)為是一個(gè)數(shù)據(jù)項(xiàng)的結(jié)束。 二、 順序文件的讀寫操作 數(shù) 數(shù)將返回一個(gè)表示文件指針是否到達(dá)文件末尾的標(biāo)志。如果到了文件末尾, 數(shù)返回1),否則返回 )。 從文件中讀數(shù)據(jù)的常見(jiàn)循環(huán)方式: 件號(hào) ) 讀文件及其它語(yǔ)句 2:把文件文件 & & #1 ) #1 , a a #1 格式二: # 語(yǔ)句 #文件號(hào) , 字符串變量 功能:從順序文件中讀取一整行字符到后面指定的字符串變量中。 例:把程序文件夾下面的文本文件 & & #1 ) #1 , s + s + 1 格式三: N , #文件號(hào) ) 從指定文件中讀取 為函數(shù)的返回值 例:把程序文件夾下面的文本文件 & & #1 ) , 1) #1 例:把程序文件夾下面的文本文件 c 1 & & #1 ) c= , #1) & c #1 2、 順序文件的寫操作 向文件寫入內(nèi)容使用 語(yǔ)句或 句 , 在程序中是數(shù)據(jù)輸出 。 ( 1) 語(yǔ)法格式: # , 說(shuō)明: 文件號(hào)為以寫方式打開(kāi)文件的文件號(hào); 輸出列表為用分號(hào)或逗號(hào)分隔的變量 、 常量 、 空格和定位函數(shù)序列 。 ( 2) 語(yǔ)法格式: #, 數(shù)據(jù)項(xiàng)之間插入 “ ,”, 并給字符數(shù)據(jù)加上雙引號(hào) 。 三 、 關(guān)閉文件 句 使用格式如下: 文件號(hào)列表 其中: 文件號(hào)列表為可選項(xiàng) , 如: #1, #2, #3, 如果省略 , 則將關(guān)閉 例如: #1 , #2 刪除打開(kāi)的 1號(hào) 、 2號(hào)文件 刪除打開(kāi)的全部文件 四 與讀文件操作有關(guān)的幾個(gè)函數(shù) ( 1) 數(shù) 例如 , )返回 #1文件的長(zhǎng)度 , 如果返回 0值 , 則表示該文件是一個(gè)空文件 。 ( 2) 數(shù) 于二進(jìn)制文件 , 它將返回最近讀寫的一個(gè)字節(jié)的位臵 。 ( 3) 數(shù) 隨機(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、 聲明記錄類型變量 在打開(kāi)一個(gè)文件進(jìn)行隨機(jī)訪問(wèn)之前,應(yīng)定義一個(gè)類型,該類型對(duì)應(yīng)于該文件包含或?qū)挠涗洝?語(yǔ)法格式為: 自定義類型名 元素名 元素名 例如,聲明一個(gè)學(xué)生自定義類型。 2 學(xué)號(hào),寬度為 2字節(jié) 8 姓名,寬度為 8字節(jié) 成績(jī),寬度為 2字節(jié) 隨機(jī)文件 在定義與記錄對(duì)應(yīng)的類型以后,應(yīng)接著聲明程序需要的任何其他變量,用來(lái)處理作為隨機(jī)訪問(wèn)而打開(kāi)的文件。如: , 定義記錄變量 隨機(jī)文件的操作 一、打開(kāi) 格式: “文件名” #文件號(hào) 錄長(zhǎng)度 二、讀操作 #文件號(hào) , 記錄號(hào) ,變量名 將一個(gè)已打開(kāi)的磁盤文件的一條記錄的內(nèi)容讀入一個(gè)變量之中。 忽略記錄號(hào),則讀出當(dāng)前記錄后的那一條記錄。 三、寫操作 #文件號(hào) , 記錄號(hào) ,變量名 將一個(gè)變量的數(shù)據(jù)寫入磁盤文件中,將一個(gè)記錄變量的內(nèi)容寫到指定的記錄位臵處。忽略記錄號(hào),則表示在當(dāng)前記錄后的位臵插入一條記錄。 二進(jìn)制文件是一個(gè)字節(jié)流,文件系統(tǒng)并不解釋各字節(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í),使用 不是 二進(jìn)制型數(shù)據(jù)可能無(wú)法正確地存儲(chǔ)在 當(dāng)要保持文件的尺寸盡量小時(shí),應(yīng)使用二進(jìn)制文件。 進(jìn)制文件 一、二進(jìn)制文件的打開(kāi) 文件名 #文件號(hào) 二、二進(jìn)制文件的寫操作 #文件號(hào) , 位臵 ,變量名 寫入長(zhǎng)度等于變量長(zhǎng)度的數(shù)據(jù)。 三、二進(jìn)制文件的讀操作 #文件號(hào) , 位臵 ,變量名 從指定位臵開(kāi)始讀出長(zhǎng)度等于變量長(zhǎng)度的數(shù)據(jù)存入變量中,數(shù)據(jù)讀出后移動(dòng)變量長(zhǎng)度位臵,如果忽略位臵,則表示從文件指針?biāo)傅奈慌Z開(kāi)始讀出數(shù)據(jù),數(shù)據(jù)讀出后移動(dòng)變量長(zhǎng)度位臵。 進(jìn)制文件 例題 文件復(fù)制 c # 1 打開(kāi)源文件 # 2 打開(kāi)目標(biāo)文件 ) #1 , , c 從源文件讀出一個(gè)字節(jié) #2 , , c 將一個(gè)字節(jié)寫入目標(biāo)文件 與文件系統(tǒng)相關(guān)的語(yǔ)句 句 格式: 能:改變當(dāng)前目錄。 例如: D:2. 句 格式: 功能:改變當(dāng)前驅(qū)動(dòng)器 說(shuō)明:如果 ,則當(dāng)前驅(qū)動(dòng)器將不會(huì)改變;如果 字 符,則 3. 句 格式: 能:創(chuàng)建一個(gè)新的目錄。 4. 句 格式: 功能:刪除一個(gè)存在的目錄 說(shuō)明:只能刪除空目錄。 格式: , 能:復(fù)制一個(gè)文件。 說(shuō)明: 句 格式: 能:重新命名一個(gè)文件或目錄。 說(shuō)明: (1) (2) 不能使用統(tǒng)配符“ *”和“ ?”,不能對(duì)一個(gè)已打開(kāi)的文件上使用 格式: 功能:刪除文件。 說(shuō)明: *”和 “ ?”。 例如: *文件系統(tǒng)控件 種可直接瀏覽系統(tǒng)目錄結(jié)構(gòu)和文件的控件: 驅(qū)動(dòng)器列表框、目錄列表框、文件列表框。 驅(qū)動(dòng)器列表框 文件列表框 目錄列表框 驅(qū)動(dòng)器列表框( 驅(qū)動(dòng)器列表框( 控件,通常只顯示當(dāng)前驅(qū)動(dòng)器名稱,單擊向下箭頭,就會(huì)下拉出計(jì)算機(jī)擁有的所有磁盤驅(qū)動(dòng)器,供用戶選擇。 1重要屬性 驅(qū)動(dòng)器列表框控件最重要和常用的屬性 , 該屬性在設(shè)計(jì)時(shí)不可用 。 使用格式: = 例如: D:” 文件系統(tǒng)控件 2重要事件 在程序運(yùn)行時(shí) , 當(dāng)選擇一個(gè)新的驅(qū)動(dòng)器或通過(guò)代碼改變 目錄列表框( 目錄列表框( 控件用來(lái)當(dāng)前驅(qū)動(dòng)器目錄結(jié)構(gòu)及當(dāng)前目錄下的所有子文件夾(子目錄)。供用戶選擇其中一個(gè)目錄為當(dāng)前目錄。 文件系統(tǒng)控件 1 常用屬性 目錄列表框控件的最常用的屬性 , 用于返回或設(shè)置當(dāng)前路徑 。 該屬性在設(shè)計(jì)時(shí)是不可用的 。 使用格式: = 其中: 象表達(dá)式 , 其值是目錄列表框的對(duì)象名 。 :用來(lái)表示路徑名的字符串表達(dá)式。 例如, C: 缺省值是當(dāng)前路徑。 說(shuō)明: 如, 網(wǎng)絡(luò)計(jì)算機(jī)名 共享目錄名 文件系統(tǒng)控件 2 重要事件 與驅(qū)動(dòng)器列表框一樣,在程序運(yùn)行時(shí),每當(dāng)改變當(dāng)前目錄,即目錄列表框的 要觸發(fā)其 文件系統(tǒng)控件 文件列表框( 控件用來(lái)顯示 性指定的目錄中的文件定位并列舉出來(lái)。該控件用來(lái)顯示所選擇文件類型的文件列表。 文件列表框( 1 常用屬性 ( 1) 用于返回和設(shè)置文件列表框當(dāng)前目錄,設(shè)計(jì)時(shí)不可用。 說(shuō)明:當(dāng) 引發(fā)一個(gè) 文件系統(tǒng)控件 此條件也可改為: 3 ( 2) 用于返回或設(shè)置被選定文件的文件名 , 設(shè)計(jì)時(shí)不可用 。 說(shuō)明: 例如:要從文件列表框 ( 中獲得全路徑的文件名 用下面的程序代碼: ) = & 件系統(tǒng)控件 ( 3) 用于返回或設(shè)置文件列表框所顯示的文件類型 。 可在設(shè)計(jì)狀態(tài)設(shè)置或在程序運(yùn)

溫馨提示

  • 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)論