




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第 11章 數(shù)據(jù)文件 類及其結(jié)構(gòu); 開、讀 /寫、關(guān)閉; 開、讀 /寫、關(guān)閉; 本章內(nèi)容及要求: 本章重點: 順序文件的操作:打開、讀 /寫、關(guān)閉; 隨機(jī)文件的操作 :打開、讀 /寫、關(guān)閉; 本章難點: 隨機(jī)文件、二進(jìn)制文件的操作 第 11章 數(shù)據(jù)文件 文件是存儲在外部介質(zhì)(如磁盤)上的以文件名標(biāo)識的數(shù)據(jù)的集合。通常由一組存放在磁盤上的相關(guān)字節(jié)組成。當(dāng)應(yīng)用程序要訪問文件時,必須自己決定文件中字節(jié)的意義(比如,表示字符、數(shù)據(jù)記錄、整數(shù)、字符串等等)。 存儲在磁盤上的文件稱為磁盤文件,與計算機(jī)相連的設(shè)備稱為設(shè)備文件。這些文件都不在計算機(jī)內(nèi),統(tǒng)稱為外部文件。 一、文件及其結(jié)構(gòu) 文件: 存儲在外部介質(zhì)上數(shù)據(jù)的集合。按名存取 磁盤文件是由數(shù)據(jù)記錄組成 。記錄是計算機(jī)處理數(shù)據(jù)的基本單位,它由一組具有共同屬性相互關(guān)聯(lián)的數(shù)據(jù)項組成。 學(xué)號 姓名 數(shù)學(xué)成績 語文成績 物理成績 總分 數(shù)據(jù)項 文件的概念 記錄 1 記錄 2 記錄 N 文件結(jié)束標(biāo)志 二、文件分類 根據(jù)訪問文件的方式將文件分成 3類: 順序文件 隨機(jī)文件 二進(jìn)制文件 。 1 順序文件 順序文件( 普通的文本文件。順序文件中的記錄按順序一個接一個地排列。讀寫文件存取記錄時,都必須按記錄順序逐個進(jìn)行。 一行一條記錄(一項數(shù)據(jù)),記錄可長可短,以“換行”字符為分隔符號。 #1 記錄 1 #2 記錄 2 #N 記錄 N 2 隨機(jī)文件 隨機(jī)文件( 是可以按任意次序讀寫的文件,其中每個記錄的長度必須相同。在這種文件結(jié)構(gòu)中,每個記錄都有其唯一的一個記錄號,所以在讀取數(shù)據(jù)時,只要知道記錄號,便可以直接讀取記錄。 隨機(jī)文件的文件結(jié)構(gòu) 3 二進(jìn)制文件 二進(jìn)制文件( 字節(jié)的集合、它直接把二進(jìn)制碼存放在文件中。 除了沒有數(shù)據(jù)類型或者記錄長度的含義以外,它與隨機(jī)訪問很相似。 二進(jìn)制訪問模式是以字節(jié)數(shù)來定位數(shù)據(jù),在程序中可以按任何方式組織和訪問數(shù)據(jù),對文件中各字節(jié)數(shù)據(jù)直接進(jìn)行存取。 雖然這 3種文件訪問的數(shù)據(jù)類型不同,但應(yīng)用程序訪問它們的步驟卻相似: 使用 為文件指定一個文件號。對文件進(jìn)行任何 I/必須經(jīng)過這步操作。 從文件中讀取部分或全部數(shù)據(jù)到變量中。 對變量中的數(shù)據(jù)進(jìn)行處理。 將處理后的數(shù)據(jù)保存回文件中。 使用 果沒有關(guān)閉文件,則會導(dǎo)致文件中部分或全部信息丟失。 文件的基本操作 打開文件 讀出或?qū)懭?關(guān)閉文件 順序文件的基本操作 在程序中對文件的操作,通常按 3個步驟進(jìn)行: 一、順序文件的打開與關(guān)閉 1. 打開文件 “文件名” 式 #文件號 錄長度 (1) 模式 操作 操作 加到文件未尾 C: #1 (2) 文件號 1 511,可以用 (3) 記錄長度 小于或等于 32767的整數(shù),它指定數(shù)據(jù)緩沖區(qū)的大小。 例如,打開 C:寫入數(shù)據(jù),指定文件號為 #1。 例如: “C: #1 “C: #2 “C: #1 打開文件的真正含意 : (1)并不是把文件內(nèi)容顯示出來,而是讀文件或顯示文件內(nèi)容的必經(jīng)步驟; (2)打開文件并不一定只是為了讀文件內(nèi)容而打開,其實寫文件或新建文件之前都要把對應(yīng)的文件打開。 如何打開由用戶任意指定的文件: (1)用打開 /另存為對話框; (2)用文件列表框 /目錄列表框 /驅(qū)動器列表框 要注意 1. 順序文件讀操作 從現(xiàn)存文件中讀入數(shù)據(jù),應(yīng)以順序 開該文件。然后使用 語句、 語句和 )函數(shù)讀入到程序變量中。 使用格式如下: 格式一: # 語句 #文件號 , 變量列表 把讀出的每個數(shù)據(jù)項分別存放到所對應(yīng)的變量,從文件中讀出數(shù)據(jù)時,凡是遇到文件中的逗號、空格或回車符便認(rèn)為是一個數(shù)據(jù)項的結(jié)束。 二、 順序文件的讀寫操作 數(shù) 數(shù)將返回一個表示文件指針是否到達(dá)文件末尾的標(biāo)志。如果到了文件末尾, 數(shù)返回1),否則返回 )。 從文件中讀數(shù)據(jù)的常見循環(huán)方式: 件號 ) 讀文件及其它語句 2:把文件文件 & & #1 ) #1 , a a #1 格式二: # 語句 #文件號 , 字符串變量 功能:從順序文件中讀取一整行字符到后面指定的字符串變量中。 例:把程序文件夾下面的文本文件 & & #1 ) #1 , s + s + 1 格式三: N , #文件號 ) 從指定文件中讀取 為函數(shù)的返回值 例:把程序文件夾下面的文本文件 & & #1 ) , 1) #1 例:把程序文件夾下面的文本文件 c 1 & & #1 ) c= , #1) & c #1 2、 順序文件的寫操作 向文件寫入內(nèi)容使用 語句或 句 , 在程序中是數(shù)據(jù)輸出 。 ( 1) 語法格式: # , 說明: 文件號為以寫方式打開文件的文件號; 輸出列表為用分號或逗號分隔的變量 、 常量 、 空格和定位函數(shù)序列 。 ( 2) 語法格式: #, 數(shù)據(jù)項之間插入 “ ,”, 并給字符數(shù)據(jù)加上雙引號 。 三 、 關(guān)閉文件 句 使用格式如下: 文件號列表 其中: 文件號列表為可選項 , 如: #1, #2, #3, 如果省略 , 則將關(guān)閉 例如: #1 , #2 刪除打開的 1號 、 2號文件 刪除打開的全部文件 四 與讀文件操作有關(guān)的幾個函數(shù) ( 1) 數(shù) 例如 , )返回 #1文件的長度 , 如果返回 0值 , 則表示該文件是一個空文件 。 ( 2) 數(shù) 于二進(jìn)制文件 , 它將返回最近讀寫的一個字節(jié)的位置 。 ( 3) 數(shù) 隨機(jī)文件 在文件中以順序文件方式進(jìn)行存取數(shù)據(jù)很方便也很常用,但是當(dāng)需要大量查找或修改文件中的數(shù)據(jù)時會很困難,而這時采用隨機(jī)文件方式存取數(shù)據(jù)就顯得比較方便。 隨機(jī)文件的每一個數(shù)據(jù)項都有相同的長度,它的數(shù)據(jù)項通常稱做記錄。隨機(jī)文件是以記錄為單位的,每條記錄都被賦予了記錄號以便查找。應(yīng)用程序可以根據(jù)記錄號直接讀取隨機(jī)文件中的任意記錄,而無須由前至后逐個讀取記錄。 對隨機(jī)文件的存取是以記錄為單位進(jìn)行的,每個記錄包括一個或多個字段。具有一個字段的記錄對應(yīng)于任一標(biāo)準(zhǔn)類型,比如整數(shù)或定長字符串。具有多個字段的記錄對應(yīng)于用戶自定義類型。 1、 聲明記錄類型變量 在打開一個文件進(jìn)行隨機(jī)訪問之前,應(yīng)定義一個類型,該類型對應(yīng)于該文件包含或?qū)挠涗洝?語法格式為: 自定義類型名 元素名 元素名 例如,聲明一個學(xué)生自定義類型。 2 學(xué)號,寬度為 2字節(jié) 8 姓名,寬度為 8字節(jié) 成績,寬度為 2字節(jié) 隨機(jī)文件 在定義與記錄對應(yīng)的類型以后,應(yīng)接著聲明程序需要的任何其他變量,用來處理作為隨機(jī)訪問而打開的文件。如: , 定義記錄變量 隨機(jī)文件的操作 一、打開 格式: “文件名” #文件號 錄長度 二、讀操作 #文件號 , 記錄號 ,變量名 將一個已打開的磁盤文件的一條記錄的內(nèi)容讀入一個變量之中。 忽略記錄號,則讀出當(dāng)前記錄后的那一條記錄。 三、寫操作 #文件號 , 記錄號 ,變量名 將一個變量的數(shù)據(jù)寫入磁盤文件中,將一個記錄變量的內(nèi)容寫到指定的記錄位置處。忽略記錄號,則表示在當(dāng)前記錄后的位置插入一條記錄。 二進(jìn)制文件是一個字節(jié)流,文件系統(tǒng)并不解釋各字節(jié)的意義,解釋工作由具體的應(yīng)用程序完成。 以二進(jìn)制方式訪問文件有下述特點: 可以直接訪問文件中的所有數(shù)據(jù)。 由應(yīng)用程序根據(jù)需要解釋數(shù)據(jù)的意義。 訪問文件的語句不更改原始數(shù)據(jù)的所有內(nèi)容。 二進(jìn)制文件每一次讀寫是以字節(jié)為單位對數(shù)據(jù)進(jìn)行訪問操作的,它允許用戶讀寫或修改文件中的任何字節(jié)信息。當(dāng)把二進(jìn)制數(shù)據(jù)寫入文件中時,使用 不是 二進(jìn)制型數(shù)據(jù)可能無法正確地存儲在 當(dāng)要保持文件的尺寸盡量小時,應(yīng)使用二進(jìn)制文件。 進(jìn)制文件 一、二進(jìn)制文件的打開 文件名 #文件號 二、二進(jìn)制文件的寫操作 #文件號 , 位置 ,變量名 寫入長度等于變量長度的數(shù)據(jù)。 三、二進(jìn)制文件的讀操作 #文件號 , 位置 ,變量名 從指定位置開始讀出長度等于變量長度的數(shù)據(jù)存入變量中,數(shù)據(jù)讀出后移動變量長度位置,如果忽略位置,則表示從文件指針?biāo)傅奈恢瞄_始讀出數(shù)據(jù),數(shù)據(jù)讀出后移動變量長度位置。 進(jìn)制文件 例題 文件復(fù)制 c # 1 打開源文件 # 2 打開目標(biāo)文件 ) #1 , , c 從源文件讀出一個字節(jié) #2 , , c 將一個字節(jié)寫入目標(biāo)文件 與文件系統(tǒng)相關(guān)的語句 句 格式: 能:改變當(dāng)前目錄。 例如: D:2. 句 格式: 功能:改變當(dāng)前驅(qū)動器 說明:如果 ,則當(dāng)前驅(qū)動器將不會改變;如果 字 符,則 3. 句 格式: 能:創(chuàng)建一個新的目錄。 4. 句 格式: 功能:刪除一個存在的目錄 說明:只能刪除空目錄。 格式: , 能:復(fù)制一個文件。 說明: 句 格式: 能:重新命名一個文件或目錄。 說明: (1) (2) 不能使用統(tǒng)配符“ *”和“ ?”,不能對一個已打開的文件上使用 格式: 功能:刪除文件。 說明: *”和 “ ?”。 例如: *文件系統(tǒng)控件 種可直接瀏覽系統(tǒng)目錄結(jié)構(gòu)和文件的控件: 驅(qū)動器列表框、目錄列表框、文件列表框。 驅(qū)動器列表框 文件列表框 目錄列表框 驅(qū)動器列表框( 驅(qū)動器列表框( 控件,通常只顯示當(dāng)前驅(qū)動器名稱,單擊向下箭頭,就會下拉出計算機(jī)擁有的所有磁盤驅(qū)動器,供用戶選擇。 1重要屬性 驅(qū)動器列表框控件最重要和常用的屬性 , 該屬性在設(shè)計時不可用 。 使用格式: = 例如: D:” 文件系統(tǒng)控件 2重要事件 在程序運行時 , 當(dāng)選擇一個新的驅(qū)動器或通過代碼改變 目錄列表框( 目錄列表框( 控件用來當(dāng)前驅(qū)動器目錄結(jié)構(gòu)及當(dāng)前目錄下的所有子文件夾(子目錄)。供用戶選擇其中一個目錄為當(dāng)前目錄。 文件系統(tǒng)控件 1 常用屬性 目錄列表框控件的最常用的屬性 , 用于返回或設(shè)置當(dāng)前路徑 。 該屬性在設(shè)計時是不可用的 。 使用格式: = 其中: 象表達(dá)式 , 其值是目錄列表框的對象名 。 :用來表示路徑名的字符串表達(dá)式。 例如, C: 缺省值是當(dāng)前路徑。 說明: 如, 網(wǎng)絡(luò)計算機(jī)名 共享目錄名 文件系統(tǒng)控件 2 重要事件 與驅(qū)動器列表框一樣,在程序運行時,每當(dāng)改變當(dāng)前目錄,即目錄列表框的 要觸發(fā)其 文件系統(tǒng)控件 文件列表框( 控件用來顯示 性指定的目錄中的文件定位并列舉出來。該控件用來顯示所選擇文件類型的文件列表。 文件列表框( 1 常用屬性 ( 1) 用于返回和設(shè)置文件列表框當(dāng)前目錄,設(shè)計時不可用。 說明:當(dāng) 引發(fā)一個 文件系統(tǒng)控件 此條件也可改為: 3 ( 2) 用于返回或設(shè)置被選定文件的文件名 , 設(shè)計時不可用 。 說明: 例如:要從文件列表框 ( 中獲得全路徑的文件名 用下面的程序代碼: ) = & 件系統(tǒng)控件 ( 3) 用于返回或設(shè)置文件列表框所顯示的文件類型 。 可在設(shè)計狀態(tài)設(shè)置或在程序運
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園膳食委員會會議記錄
- 廚余垃圾智能收運處置系統(tǒng)項目可行性分析
- 商鋪租房合同協(xié)議書
- 更換合同協(xié)議書
- 解除借錢合同協(xié)議書
- 樓頂防水合同協(xié)議書范本
- 林地合同終止協(xié)議書范本
- 打印店合同協(xié)議書
- 復(fù)婚合同協(xié)議書
- 畫室宿管合同協(xié)議書
- 人民幣全版(錢幣)教學(xué)打印版word版
- Excel在財務(wù)管理中的應(yīng)用(第五版)第10章綜合案例
- 多智能體系統(tǒng)教材課件匯總完整版ppt全套課件最全教學(xué)教程整本書電子教案全書教案課件合集
- 高考理綜試題答題技巧方法!課件
- 購物中心租金修正測算
- 行書典范《蘭亭序》鑒賞PPT共32頁課件
- 一體化泵站檢測報告(共6頁)
- 【汽車】上海大眾汽車有限公司——質(zhì)量保證部
- 高中化學(xué)方程式大全(看完高考絕對給力)
- 初中八年級體育與健康課教案(全冊).doc
- (完整版)危重患者的護(hù)理常規(guī)
評論
0/150
提交評論