




已閱讀5頁,還剩36頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第 11章 數據文件 類及其結構; 開、讀 /寫、關閉; 開、讀 /寫、關閉; 本章內容及要求: 本章重點: 順序文件的操作:打開、讀 /寫、關閉; 隨機文件的操作 :打開、讀 /寫、關閉; 本章難點: 隨機文件、二進制文件的操作 第 11章 數據文件 文件是存儲在外部介質(如磁盤)上的以文件名標識的數據的集合。通常由一組存放在磁盤上的相關字節組成。當應用程序要訪問文件時,必須自己決定文件中字節的意義(比如,表示字符、數據記錄、整數、字符串等等)。 存儲在磁盤上的文件稱為磁盤文件,與計算機相連的設備稱為設備文件。這些文件都不在計算機內,統稱為外部文件。 一、文件及其結構 文件: 存儲在外部介質上數據的集合。按名存取 磁盤文件是由數據記錄組成 。記錄是計算機處理數據的基本單位,它由一組具有共同屬性相互關聯的數據項組成。 學號 姓名 數學成績 語文成績 物理成績 總分 數據項 文件的概念 記錄 1 記錄 2 記錄 N 文件結束標志 二、文件分類 根據訪問文件的方式將文件分成 3類: 順序文件 隨機文件 二進制文件 。 1 順序文件 順序文件( 普通的文本文件。順序文件中的記錄按順序一個接一個地排列。讀寫文件存取記錄時,都必須按記錄順序逐個進行。 一行一條記錄(一項數據),記錄可長可短,以“換行”字符為分隔符號。 #1 記錄 1 #2 記錄 2 #N 記錄 N 2 隨機文件 隨機文件( 是可以按任意次序讀寫的文件,其中每個記錄的長度必須相同。在這種文件結構中,每個記錄都有其唯一的一個記錄號,所以在讀取數據時,只要知道記錄號,便可以直接讀取記錄。 隨機文件的文件結構 3 二進制文件 二進制文件( 字節的集合、它直接把二進制碼存放在文件中。 除了沒有數據類型或者記錄長度的含義以外,它與隨機訪問很相似。 二進制訪問模式是以字節數來定位數據,在程序中可以按任何方式組織和訪問數據,對文件中各字節數據直接進行存取。 雖然這 3種文件訪問的數據類型不同,但應用程序訪問它們的步驟卻相似: 使用 為文件指定一個文件號。對文件進行任何 I/必須經過這步操作。 從文件中讀取部分或全部數據到變量中。 對變量中的數據進行處理。 將處理后的數據保存回文件中。 使用 果沒有關閉文件,則會導致文件中部分或全部信息丟失。 文件的基本操作 打開文件 讀出或寫入 關閉文件 順序文件的基本操作 在程序中對文件的操作,通常按 3個步驟進行: 一、順序文件的打開與關閉 1. 打開文件 “文件名” 式 #文件號 錄長度 (1) 模式 操作 操作 加到文件未尾 C: #1 (2) 文件號 1 511,可以用 (3) 記錄長度 小于或等于 32767的整數,它指定數據緩沖區的大小。 例如,打開 C:寫入數據,指定文件號為 #1。 例如: “C: #1 “C: #2 “C: #1 打開文件的真正含意 : (1)并不是把文件內容顯示出來,而是讀文件或顯示文件內容的必經步驟; (2)打開文件并不一定只是為了讀文件內容而打開,其實寫文件或新建文件之前都要把對應的文件打開。 如何打開由用戶任意指定的文件: (1)用打開 /另存為對話框; (2)用文件列表框 /目錄列表框 /驅動器列表框 要注意 1. 順序文件讀操作 從現存文件中讀入數據,應以順序 開該文件。然后使用 語句、 語句和 )函數讀入到程序變量中。 使用格式如下: 格式一: # 語句 #文件號 , 變量列表 把讀出的每個數據項分別存放到所對應的變量,從文件中讀出數據時,凡是遇到文件中的逗號、空格或回車符便認為是一個數據項的結束。 二、 順序文件的讀寫操作 數 數將返回一個表示文件指針是否到達文件末尾的標志。如果到了文件末尾, 數返回1),否則返回 )。 從文件中讀數據的常見循環方式: 件號 ) 讀文件及其它語句 2:把文件文件 & & #1 ) #1 , a a #1 格式二: # 語句 #文件號 , 字符串變量 功能:從順序文件中讀取一整行字符到后面指定的字符串變量中。 例:把程序文件夾下面的文本文件 & & #1 ) #1 , s + s + 1 格式三: N , #文件號 ) 從指定文件中讀取 為函數的返回值 例:把程序文件夾下面的文本文件 & & #1 ) , 1) #1 例:把程序文件夾下面的文本文件 c 1 & & #1 ) c= , #1) & c #1 2、 順序文件的寫操作 向文件寫入內容使用 語句或 句 , 在程序中是數據輸出 。 ( 1) 語法格式: # , 說明: 文件號為以寫方式打開文件的文件號; 輸出列表為用分號或逗號分隔的變量 、 常量 、 空格和定位函數序列 。 ( 2) 語法格式: #, 數據項之間插入 “ ,”, 并給字符數據加上雙引號 。 三 、 關閉文件 句 使用格式如下: 文件號列表 其中: 文件號列表為可選項 , 如: #1, #2, #3, 如果省略 , 則將關閉 例如: #1 , #2 刪除打開的 1號 、 2號文件 刪除打開的全部文件 四 與讀文件操作有關的幾個函數 ( 1) 數 例如 , )返回 #1文件的長度 , 如果返回 0值 , 則表示該文件是一個空文件 。 ( 2) 數 于二進制文件 , 它將返回最近讀寫的一個字節的位臵 。 ( 3) 數 隨機文件 在文件中以順序文件方式進行存取數據很方便也很常用,但是當需要大量查找或修改文件中的數據時會很困難,而這時采用隨機文件方式存取數據就顯得比較方便。 隨機文件的每一個數據項都有相同的長度,它的數據項通常稱做記錄。隨機文件是以記錄為單位的,每條記錄都被賦予了記錄號以便查找。應用程序可以根據記錄號直接讀取隨機文件中的任意記錄,而無須由前至后逐個讀取記錄。 對隨機文件的存取是以記錄為單位進行的,每個記錄包括一個或多個字段。具有一個字段的記錄對應于任一標準類型,比如整數或定長字符串。具有多個字段的記錄對應于用戶自定義類型。 1、 聲明記錄類型變量 在打開一個文件進行隨機訪問之前,應定義一個類型,該類型對應于該文件包含或將包含的記錄。 語法格式為: 自定義類型名 元素名 元素名 例如,聲明一個學生自定義類型。 2 學號,寬度為 2字節 8 姓名,寬度為 8字節 成績,寬度為 2字節 隨機文件 在定義與記錄對應的類型以后,應接著聲明程序需要的任何其他變量,用來處理作為隨機訪問而打開的文件。如: , 定義記錄變量 隨機文件的操作 一、打開 格式: “文件名” #文件號 錄長度 二、讀操作 #文件號 , 記錄號 ,變量名 將一個已打開的磁盤文件的一條記錄的內容讀入一個變量之中。 忽略記錄號,則讀出當前記錄后的那一條記錄。 三、寫操作 #文件號 , 記錄號 ,變量名 將一個變量的數據寫入磁盤文件中,將一個記錄變量的內容寫到指定的記錄位臵處。忽略記錄號,則表示在當前記錄后的位臵插入一條記錄。 二進制文件是一個字節流,文件系統并不解釋各字節的意義,解釋工作由具體的應用程序完成。 以二進制方式訪問文件有下述特點: 可以直接訪問文件中的所有數據。 由應用程序根據需要解釋數據的意義。 訪問文件的語句不更改原始數據的所有內容。 二進制文件每一次讀寫是以字節為單位對數據進行訪問操作的,它允許用戶讀寫或修改文件中的任何字節信息。當把二進制數據寫入文件中時,使用 不是 二進制型數據可能無法正確地存儲在 當要保持文件的尺寸盡量小時,應使用二進制文件。 進制文件 一、二進制文件的打開 文件名 #文件號 二、二進制文件的寫操作 #文件號 , 位臵 ,變量名 寫入長度等于變量長度的數據。 三、二進制文件的讀操作 #文件號 , 位臵 ,變量名 從指定位臵開始讀出長度等于變量長度的數據存入變量中,數據讀出后移動變量長度位臵,如果忽略位臵,則表示從文件指針所指的位臵開始讀出數據,數據讀出后移動變量長度位臵。 進制文件 例題 文件復制 c # 1 打開源文件 # 2 打開目標文件 ) #1 , , c 從源文件讀出一個字節 #2 , , c 將一個字節寫入目標文件 與文件系統相關的語句 句 格式: 能:改變當前目錄。 例如: D:2. 句 格式: 功能:改變當前驅動器 說明:如果 ,則當前驅動器將不會改變;如果 字 符,則 3. 句 格式: 能:創建一個新的目錄。 4. 句 格式: 功能:刪除一個存在的目錄 說明:只能刪除空目錄。 格式: , 能:復制一個文件。 說明: 句 格式: 能:重新命名一個文件或目錄。 說明: (1) (2) 不能使用統配符“ *”和“ ?”,不能對一個已打開的文件上使用 格式: 功能:刪除文件。 說明: *”和 “ ?”。 例如: *文件系統控件 種可直接瀏覽系統目錄結構和文件的控件: 驅動器列表框、目錄列表框、文件列表框。 驅動器列表框 文件列表框 目錄列表框 驅動器列表框( 驅動器列表框( 控件,通常只顯示當前驅動器名稱,單擊向下箭頭,就會下拉出計算機擁有的所有磁盤驅動器,供用戶選擇。 1重要屬性 驅動器列表框控件最重要和常用的屬性 , 該屬性在設計時不可用 。 使用格式: = 例如: D:” 文件系統控件 2重要事件 在程序運行時 , 當選擇一個新的驅動器或通過代碼改變 目錄列表框( 目錄列表框( 控件用來當前驅動器目錄結構及當前目錄下的所有子文件夾(子目錄)。供用戶選擇其中一個目錄為當前目錄。 文件系統控件 1 常用屬性 目錄列表框控件的最常用的屬性 , 用于返回或設置當前路徑 。 該屬性在設計時是不可用的 。 使用格式: = 其中: 象表達式 , 其值是目錄列表框的對象名 。 :用來表示路徑名的字符串表達式。 例如, C: 缺省值是當前路徑。 說明: 如, 網絡計算機名 共享目錄名 文件系統控件 2 重要事件 與驅動器列表框一樣,在程序運行時,每當改變當前目錄,即目錄列表框的 要觸發其 文件系統控件 文件列表框( 控件用來顯示 性指定的目錄中的文件定位并列舉出來。該控件用來顯示所選擇文件類型的文件列表。 文件列表框( 1 常用屬性 ( 1) 用于返回和設置文件列表框當前目錄,設計時不可用。 說明:當 引發一個 文件系統控件 此條件也可改為: 3 ( 2) 用于返回或設置被選定文件的文件名 , 設計時不可用 。 說明: 例如:要從文件列表框 ( 中獲得全路徑的文件名 用下面的程序代碼: ) = & 件系統控件 ( 3) 用于返回或設置文件列表框所顯示的文件類型 。 可在設計狀態設置或在程序運
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南省農村土地經營權流轉合同
- 2025年探討物業租賃合同發展趨勢
- 2025機械制造外包合同書
- 2025年深入探討我國合同解除制度相關問題
- 2025【機械設備購銷合同】機械設備購銷合同范本
- 2025年碲鎘汞(MCT)紅外探測器項目發展計劃
- 2025年會議電視圖像保密機項目合作計劃書
- 2025年碾磨谷物及谷物加工品合作協議書
- 2025年溫控儀表項目建議書
- 2025年城市規劃與設計專業考試試題及答案
- DB12-537-2014企業事業單位內部治安保衛規范
- 胃腸外科考試試題及答案
- 1立方米砼模板含量表
- 紫藤蘿瀑布的說課稿
- 部編教材八年級歷史上冊第四單元第13課《五四運動》教學設計
- 無菌GMP 操作指南:無菌醫療器械生產過程確認
- 海因環氧樹脂的制備及其應用
- 羅甸縣從里水庫管道輸水工程施工方案
- UWI海威清創機使用說明書
- 《一元一次不等式與一次函數》第課時示范教案
- 刮板式花生脫殼機設計
評論
0/150
提交評論