freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

visualc2008大學教程第十九章(已修改)

2025-05-26 20:02 本頁面
 

【正文】 C語言程序設計 理工大學華信軟件學院 張一鳴 1 第 19章 文件與流 理工大學華信軟件學院 張一鳴 2021年 8月 20日 C語言程序設計 C語言程序設計 理工大學華信軟件學院 張一鳴 2 第 18章 文件與流 ? 創(chuàng)建、讀、寫和更新文件 ? C流類層次 ? 用 File與 Directory類取得計算機上的文件與目錄信息 ? 用 LINQ查找目錄 ? 順序訪問文件處理 ? 用類 FileStream、 StreamReader與 StreamWriter讀寫文本文件 ? 用 LINQ和 yield return迭代文件記錄,找到匹配指定條件的記錄 ? 用類與 BinaryFormatter讀寫對象文件 C語言程序設計 理工大學華信軟件學院 張一鳴 3 簡介 ? 存儲在程序變量或數組中的數據是臨時的,在程序運行結束后就會消失。文件則用來 永久性 地保存大量的數據,在創(chuàng)建數據的程序終止后仍然保存。計算機把文件存放在輔助存儲器上,如磁盤、光盤、閃存( U盤)或磁帶上。 ? 本章介紹 C程序中如何創(chuàng)建、更新和處理數據,首先概述從位到文件的數據層次,然后介紹 FCL的一些文件處理類,進而用實例介紹如何確定計算機上的文件與目錄信息。最后介紹如何操作文本文件和二進制格式對象格式的二進制文件。 C語言程序設計 理工大學華信軟件學院 張一鳴 4 數據層次 一個計算機系統(tǒng)是按照層次組織數據的,即由位組成字節(jié),字節(jié)組成字段(域),字段組成記錄,記錄組成文件,文件組成數據庫。 字段 是一組有意義的字符。例如,一個學生的姓名、學號、專業(yè)等。 一個記錄描述一個實體( Entity),它可以是一個人,一個地方、一個事物或者一個事件。有關實體的信息需要管理和維護。 C語言程序設計 理工大學華信軟件學院 張一鳴 5 記錄的構成 ? 計算機處理的數據項構成了 “ 數據的層次 ” 。在這個結構中,數據項從位到字符再到域是越來越大、越來越復雜。 ? 通常,記錄是由多個域構成的。例如,一張工資表中,為雇員建立的一條記錄會包含下述各域: 雇員標識符 名字 地址 小時工資等級 免稅申請?zhí)? 年度收入 稅收額 在上面的例子中,每一個域都針對同一個雇員。一個文件就是一組相關的記錄的集合。記錄的個數可以是幾條,也可能是成千上萬條。 C語言程序設計 理工大學華信軟件學院 張一鳴 6 文件中記錄的查找 —關鍵字 為了查找文件中某個制定的記錄,在 文件中 的 每個記錄至少要選出 一個字段 (或 域 ) 來 作為記錄 關鍵字( record key) ,它唯一地標識 屬于某個人或實體的的記錄。例如,在上面提到的工資記錄表中,通常用 雇員標識號 作為記錄關鍵字。 Sally Black Tom Blue Iris Orange Judy Green Randy Red Judy Green 文件 記錄 Judy 域 字節(jié) 01001010 位 1 C語言程序設計 理工大學華信軟件學院 張一鳴 7 文件中記錄的組織方式 文件中的記錄有多種組織方式。最常見的是按記錄關鍵字字段的順序存儲記錄,按這種方式存儲記錄的文件稱為“順序文件”( sequential file)。順序存取文件的特點是:在這類文件進行讀寫操作時,總是從文件首開始,從頭到尾地讀或寫。也就是說,當順序存取文件時,要讀第 n個字節(jié),先要讀取前 n1個字節(jié),而不能直接讀取第 n個字節(jié),寫操作也類似。 直接存取文件又稱為隨機存取文件,其特點是:可以直接指定要讀寫的字節(jié)在文件中的位置,然后直接對此位置上的數據進行讀寫操作。 C語言程序設計 理工大學華信軟件學院 張一鳴 8 多文件管理 絕大多數商業(yè)機構要用許多文件來存儲數據。例如,公司里會有工資表文件、應收項目文件、應付賬目文件、存貨文件和其他多種類型的文件。有時把一組相關的文件稱為“數據庫”( database)。 C語言程序設計 理工大學華信軟件學院 張一鳴 9 員工檔案 姓名 地址 性別 職務 …… 工資單 基礎工資 獎金、交稅 其他支出 實發(fā)工資 …… 福利 人身保險 養(yǎng)老金計劃 保健計劃 退休保障 …… 文件管 理系統(tǒng) 員工檔案 應用程序 工資管理 應用程序 福利管理 應用程序 培訓 專業(yè)培訓 外語培訓 崗位培訓 …… 培訓管理 應用程序 人事部 人事部 人事部 人事部 集成的人力資源數據庫 C語言程序設計 理工大學華信軟件學院 張一鳴 10 傳統(tǒng)的文件組織方式存在的問題 ? 數據的冗余和混淆 在多個數據文件中重復出現相同的數據為數據冗余,它導致數據存儲空間的浪費和數據的不一致。 ? 程序 數據的依賴性 是指數據文件和維護它的相關應用程序之間的過分依賴。 ? 缺乏靈活性 傳統(tǒng)的文件系統(tǒng)可以處理定義完好的報表,但對于特殊的表和臨時定義的需求卻無能為力。 ? 安全性差 對數據缺乏控制和管理,實際上對訪問和分發(fā)信息失控。 ? 數據的共享性和有效性差 不同文件的信息相互沒有聯系,使得信息不能被共享和及時訪問。 C語言程序設計 理工大學華信軟件學院 張一鳴 12 FCL中的文件處理類 前面章節(jié)已經介紹過的 Console方法 WriteLine和Write用 , Console方法 Read和 ReadLine用 。 FCL中文件處理類的派生關系: TextReader TextWriter Stream StreamReader StreamWriter FileStream 派生 從文件輸入文本 將文件輸出到文本 從文件輸入文本 C語言程序設計 理工大學華信軟件學院 張一鳴 13 C文件操作類的結構示意 System. Object System. MarshallByRefObj, . Path . File . Directory . Stream . TextReader . TextWriter . FileSystemInfo . Component . FileStream . StreamReader . StreamWriter . FilleInfo . DirectoryInfo . FileSystemWatcher C語言程序設計 理工大學華信軟件學院 張一鳴 14 常用類的簡單說明 ? File: 提供創(chuàng)建、復制、刪除、移動和打開文件的靜態(tài)方法,并協(xié)助創(chuàng)建 FileStream對象。 ? Directory: 提供創(chuàng)建、復制、刪除、移動和打開目錄的靜態(tài)方法。 ? Path: 對包含文件或目錄路徑信息的字符串執(zhí)行操作。 ? FileInfo:提供創(chuàng)建、復制、刪除、移動和打開文件的實例方法,并協(xié)助創(chuàng)建 FileStream對象。 ? DirectoryInfo: 提供創(chuàng)建、復制、枚舉目錄和子目錄的實例方法。 ? FileStream: 指向文件流,支持對文件的讀 /寫和隨機訪問文件。 ? StreamReader: 從流中讀取字符數據。 ? StreamWriter: 向流中寫入字符數據。 ? FileSystemWatcher:用于監(jiān)視文件和目錄的變化。 C語言程序設計 理工大學華信軟件學院 張一鳴 15 File與 Directory類 C分別提供了 File類和 Directory類用于操縱文件和目錄信息。這兩個類可以被實例化,但不能被其他類繼承。 File類支持對文件的創(chuàng)建、復制、刪除、移動和打開的靜態(tài)方法,并協(xié)助創(chuàng)建文件流 FileStream對象。該類包含了 40多個方法,下表列出了一些常用的方法。注意: ? 由于 File類中的所有方法都是靜態(tài)的 ,所以如果只想執(zhí)行一個操作,那么使用 File類中方法的效率比使用 FileInfo類中的方法要高。 ? File類中的靜態(tài)方法對所有方法都執(zhí)行安全檢查,因此如果打算多次重用某個對象,要用 FileInfo類中的方法。 C語言程序設計 理工大學華信軟件學院 張一鳴 16 File類的靜態(tài)方法(第一部分) 靜態(tài)方法 描述 AppendText 返回 StreamWriter, 將文本添加到現有文件或建新文件 Copy 將文件復制到新文件 Create 創(chuàng)建文件并返回相關聯的 FileStream CreateText 創(chuàng)建文本文件并返回相關聯的 StreamWriter Delete 刪除指定文件 Existes 指定文件存在時返回 true,否則返回 false GetCreationTime 返回 DateTime對象,表示文件創(chuàng)建時間 GetLastAccessTime 返回 DateTime對象,表示文件最后訪問時間 GetLastWriteTime 返回 DateTime對象,表示文件修改時間 Move 將指定文件移到指定目錄,并提供指定新文件名的選項 Open 打開指定路徑上的 FileStream OpenRead 打開現有文件以進行讀取 C語言程序設計 理工大學華信軟件學院 張一鳴 17 File類的靜態(tài)方法(第二部分) 靜態(tài)方法 描述 OpenText 打開現有 UTF8編碼文件以進行讀取 OpenWrite 打開現有文件以進行寫入 ReadAllBytes 打開一文件,將其內容讀入字符串,并關閉該文件 ReadAllLines 打開文本文件,將其所有行讀入字符串數組,并關閉之 ReadAllText 打開文本文件,將其所有行讀入一個字符串,并關閉之 Replace 用其他文件內容替換指定文件內容 SetCreationTime 設置創(chuàng)建文件的日期和時間 SetLastAccessTime 設置最后訪問文件的日期和時間 SetLastWriteTime 設置最后修改文件的日期和時間 WriteAllBytes 創(chuàng)建新文件,向其寫入指定字符數組,并關閉該文件 WriteAllLines 創(chuàng)建新文件,向其寫入指定字符串,并關閉之 WriteAllText 創(chuàng)建新文件,向其寫入指定內容,并關閉之 C語言程序設計 理工大學華信軟件學院 張一鳴 18 例子 演示 File類中的方法應用 1. 新建一個 Windows應用程序,命名為 test1。默認窗體為 2. Form1窗體中添加一個 TextBox控件和一個 Button控件。其中, TextBox控件用來輸入要創(chuàng)建的文件路徑及名稱, Button控件用來接收用戶鼠標單擊并執(zhí)行創(chuàng)建文件操作。 3. 注意使用與文件、文件夾及流相關的類時,首先需要添加 。 C語言程序設計 理工大學華信軟件學院 張一鳴 19 例子 演示 File類中的方法應用 Ⅰ using System。 using 。 using 。 using 。 using 。 using 。 using 。 using 。 namespace _ { public partial class Form1 : Form { public Form1 ( ) { InitializeComponent ( )。 } private void button1_Click ( object sender, EventArgs e ) { if ( == ) // { ( 文件名不能為空! )。 } 判斷輸入的文件名是否為空 C語言程序設計 理工大學華信軟件學院 張一鳴 20 例子 演示 File類中的方法應用 Ⅱ else { if ( ( ) ) { (該文件已經存在 )。 } else { ()。 } } } } } 使用 File類的 Exists方法判斷要創(chuàng)建的文件是否存在 使用 File類的 Create方法創(chuàng)建文件 C語言程序設計 理工大學華信軟件學院 張一鳴 21 例子 程序運行結果 ⑴ 程序運行前 ⑵ 輸入文件名 ⑶ 輸入文件名 若已存在,報警 C語言程序設計 理工大學華信軟件學院 張一鳴
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1