版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022/9/13Visual C# .Net程序設(shè)計(jì)1Visual C# .Net程序設(shè)計(jì)Visual C# .Net程序設(shè)計(jì)22022/9/13第八章文件操作與編程8.1 文件操作概述 8.2 流、文件操作8.3 文件操作控件Visual C# .Net程序設(shè)計(jì)32022/9/138.1 文件操作概述 一、驅(qū)動(dòng)器 二、目錄三、文件四、路徑 返回Visual C# .Net程序設(shè)計(jì)42022/9/13一、驅(qū)動(dòng)器DriveInfo類作用:確定有關(guān)驅(qū)動(dòng)器的信息,包括驅(qū)動(dòng)器盤(pán)符、驅(qū)動(dòng)器類型、驅(qū)動(dòng)器上的可用空間等 成員:DriveFormat、DriveType、Name、TotalSize、Tot
2、alFreeSpace,GetDrivesDiverType枚舉型 枚舉值有CDRom、Fixed、Network、Removable 位于System.IO命名空間 Visual C# .Net程序設(shè)計(jì)52022/9/13二、目錄Directory類作用:靜態(tài)類,用來(lái)實(shí)現(xiàn)創(chuàng)建、復(fù)制、移動(dòng)或刪除目錄等操作 成員:CreateDirectory、Delete、Exists、Move、GetFiles、GetDirectories等 DirectoryInfo類 作用:非靜態(tài)類(必須實(shí)例化),用來(lái)實(shí)現(xiàn)創(chuàng)建、復(fù)制、移動(dòng)或刪除目錄等操作 成員;Name、Exists、Parent、Root、Creat
3、e、CreateSubDirectory、Delete、MoveTO、GetFiles、GetDirectories等 Visual C# .Net程序設(shè)計(jì)62022/9/13三、文件File類 作用:靜態(tài)類,用來(lái)創(chuàng)建、復(fù)制、刪除、移動(dòng)、打開(kāi)文件等成員:Open、Create、Copy、Delete、Exists、Move、Replace、AppendAllText、ReadAllText等FileInfo類 作用:非靜態(tài)類(必須實(shí)例化),用來(lái)創(chuàng)建、復(fù)制、刪除、移動(dòng)、打開(kāi)文件等成員:Name、Directory、Exists、Extension、Length、IsReadOnly、Open、C
4、reate、CopyTo、Delete、MoveTo、Replace、EnCrypt、Decrypt等 Visual C# .Net程序設(shè)計(jì)72022/9/13四、路徑文件所在位置稱為路徑。路徑由驅(qū)動(dòng)器盤(pán)符、目錄名、文件名、文件擴(kuò)展名和分隔符組成。路徑的表示方法絕對(duì)路徑:從驅(qū)動(dòng)器的根目錄開(kāi)始書(shū)寫(xiě),例如C:WindowsSystem32notepad.exe相對(duì)路徑:從當(dāng)前目錄位置開(kāi)始書(shū)寫(xiě),例如System32nodepad.exe(假設(shè)當(dāng)前目錄為C:Windows)Path類作用:靜態(tài)類,用來(lái)操作路徑的每一個(gè)字段 成員:PathSeparator、DirectorySeparatorChar、
5、VolumeSeparatorChar、GetDirecotryName、GetFileName、GetExtension、GetFullPath、GetTempPath等 返回Visual C# .Net程序設(shè)計(jì)82022/9/138.2 流、文件操作一、文件I/O與流 二、讀寫(xiě)文本文件 三、讀寫(xiě)二進(jìn)制文件四、對(duì)象的序列化 返回Visual C# .Net程序設(shè)計(jì)92022/9/13一、文件I/O與流 1. 流的基本操作 2. 操作流的類 Visual C# .Net程序設(shè)計(jì)102022/9/131. 流的基本操作流包括以下基本操作。讀?。╮ead):表示把數(shù)據(jù)從流傳輸?shù)侥撤N數(shù)據(jù)結(jié)構(gòu)中,例如
6、輸出到字節(jié)數(shù)組中;寫(xiě)入(write):表示把數(shù)據(jù)從某種數(shù)據(jù)結(jié)構(gòu)傳輸?shù)搅髦校绨炎止?jié)數(shù)組中的數(shù)據(jù)傳輸?shù)搅髦?;定位(seek):表示在流中查詢或重新定位當(dāng)前位置。Visual C# .Net程序設(shè)計(jì)112022/9/132. 操作流的類(1) Stream類 Stream類是所有流的抽象基類。Stream類的屬性:CanRead、CanSeek、CanTimeout、CanWrite 、Length、Position、ReadTimeout、WriteTimeoutStream類的方法:BeginRead、BeginWrite、Close、EndRead、EndWrite、Flush、Read、
7、ReadByte、Seek、Write、WriteByte(2) StreamReader和StreamWriter類 一般用來(lái)操作文本文件 (3) FileStream、MemoryStream和BufferStream類文件流:用來(lái)讀、寫(xiě)、打開(kāi)、關(guān)閉文件內(nèi)存流:表示在內(nèi)存中創(chuàng)建流,以暫時(shí)保存數(shù)據(jù)緩存流:先把流添加到緩沖區(qū),再進(jìn)行讀/寫(xiě)操作 Visual C# .Net程序設(shè)計(jì)122022/9/13二、讀寫(xiě)文本文件 文本文件是一種只保存內(nèi)容字符的編碼的文本。NET Framework支持的字符編碼可以是ASCIIEncoding、UTF7Encoding、UTF8Encoding、Unico
8、deEncoding或UTF32Encoding 文本文件的讀寫(xiě)操作TextReader和TextWriter類StreamReader和StreamWriter類StringReader和StringWriter類TextReader類成員:Close、Read、ReadBlock、ReadLine、ReadToEnd TextWriter類成員: Close、Flush、Write、WriteLine Visual C# .Net程序設(shè)計(jì)132022/9/13示例實(shí)例8-1演示(源代碼參見(jiàn)教材)Visual C# .Net程序設(shè)計(jì)142022/9/13三、讀寫(xiě)二進(jìn)制文件二進(jìn)制文件是以二進(jìn)制
9、形式編碼的文件,數(shù)據(jù)存儲(chǔ)為字節(jié)序列。二進(jìn)制文件可以包含圖像、聲音、文本或編譯之后程序。讀寫(xiě)二進(jìn)制文件的類BinaryReader和BinaryWriter BinaryReader類成員:Close、ReadBoolean、ReadByte、ReadBytes、ReadChar、ReadChars、ReadDecimal、ReadDouble、ReadInt16、ReadInt32、ReadInt64、ReadSingle、ReadStringBinaryWriter類成員:Close、Flush、Seek、WriteVisual C# .Net程序設(shè)計(jì)152022/9/13示例實(shí)例8-2演示
10、(源代碼參見(jiàn)教材)Visual C# .Net程序設(shè)計(jì)162022/9/13四、對(duì)象的序列化1. 何為對(duì)象序列化序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可保存或傳輸?shù)母袷降倪^(guò)程相應(yīng)的是反序列化,它將流轉(zhuǎn)換為對(duì)象。序列化的意義以簡(jiǎn)單的方式實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和傳輸。2. 對(duì)象序列化的類:BinaryFormatter、SoapFormatter前者用來(lái)把對(duì)象的值轉(zhuǎn)換為字節(jié)流,便于寫(xiě)入磁盤(pán)文件后者用來(lái)把對(duì)象的值轉(zhuǎn)換為SOAP格式的數(shù)據(jù),實(shí)現(xiàn)Internet遠(yuǎn)程傳輸3. 對(duì)象序列化的編程方法S1:用Serializable屬性把類標(biāo)記為可序列化的類;S2:調(diào)用BinaryFormatter或SoapFormatter的Se
11、rialize方法實(shí)現(xiàn)對(duì)象的序列化S3:反序列化時(shí)則調(diào)用Deserialize方法。 Visual C# .Net程序設(shè)計(jì)172022/9/13示例實(shí)例8-3演示(源代碼參見(jiàn)教材)通過(guò)對(duì)象的序列化和反序列化實(shí)現(xiàn)實(shí)例8-2同樣的功能。 返回Visual C# .Net程序設(shè)計(jì)182022/9/138.3 文件操作控件 一、OpenFileDialog控件 二、SaveFileDialog控件三、 FolderBrowseDialog控件 返回Visual C# .Net程序設(shè)計(jì)192022/9/13一、OpenFileDialog控件1. 控件介紹:位于System.Windows.Forms命
12、名空間中作用:顯示一個(gè)供用戶選擇文件的對(duì)話框。它是從抽象類FileDialog派生出來(lái)的 2. FileDialog的常用屬性AddExtension、CheckFileExists、CheckPathExists、DefaultExt、DereferenceLinks、FileName、Filter、FilterIndex、InitialDirectory、Multiselect、RestoreDirectory、Title、ValidateNames3. FileDialog的常用方法OpenFile、Reset、ShowDialog、FileOkVisual C# .Net程序設(shè)計(jì)202
13、022/9/13示例實(shí)例8-4演示(源代碼參見(jiàn)教材)Visual C# .Net程序設(shè)計(jì)212022/9/13二、SaveFileDialog控件1. 控件介紹作用是顯示另存為對(duì)話框,以更靈活的方式保存文件從抽象類FileDialog派生出來(lái)的2. 屬性(與CreatePrompt:用來(lái)指示如果用戶指定不存在的文件,對(duì)話框是否提示用戶允許創(chuàng)建該文件;OverwritePrompt:用來(lái)指示如果用戶指定的文件名已存在,“另存為”對(duì)話框是否顯示警告 Visual C# .Net程序設(shè)計(jì)222022/9/13示例實(shí)例8-5演示(源代碼參見(jiàn)教材)Visual C# .Net程序設(shè)計(jì)232022/9/1
14、3三、 FolderBrowseDialog控件1. 控件介紹:用來(lái)提示用戶瀏覽、創(chuàng)建并最終選擇一個(gè)文件夾。注意,該控件只能選擇文件系統(tǒng)中的文件夾,不能選擇虛擬文件夾。2. 常用屬性:Description、RootFolder、SelectedPath、ShowNewFolderButton等3. 常用方法:Reset、ShowDialog等 4. 運(yùn)行機(jī)制(模態(tài)對(duì)話框 )在執(zhí)行ShowDialog方法時(shí),應(yīng)用程序的剩余部分將被阻止運(yùn)行,直到用戶單擊了對(duì)話框中的“確定”或“取消”按鈕。最后ShowDialog方法將返回一個(gè)DialogResult型的枚舉值,如果值為DialogResult.OK,則可以通過(guò)SelectedPath屬性獲得用戶所選定的文件夾,否則SelectedPath屬性為空字符串。 Visual C# .Net程序設(shè)計(jì)242022/9/13示例返回實(shí)例8-6演示(源代碼參見(jiàn)教材)Visual C# .Net程序設(shè)計(jì)252022/9/13本章要點(diǎn)文件的讀寫(xiě)是應(yī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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冀教版四年級(jí)下冊(cè)數(shù)學(xué)第八單元 小數(shù)加法和減法 測(cè)試卷及答案【奪冠】
- 2024年影視作品版權(quán)保護(hù)與維權(quán)合同
- AI音樂(lè)創(chuàng)作與全息表演結(jié)合
- 能耗大數(shù)據(jù)優(yōu)化研究
- 智能教輔個(gè)性優(yōu)
- 法莫替丁與其他藥物聯(lián)合治療胃病效果觀察
- 2024年度工程設(shè)備租賃及安裝服務(wù)合同
- 5G技術(shù)在智能生活服務(wù)平臺(tái)的應(yīng)用前景
- DevOps與屬性配置探索
- 04年旅游服務(wù)合同(國(guó)內(nèi))
- 血液凈化科醫(yī)院感染管理-胡瑞霞
- 血液透析患者健康宣教教學(xué)課件
- 2022年廣西普通高中學(xué)業(yè)水平合格性考試英語(yǔ)學(xué)科參考試題
- 《平均數(shù)》(課件)人教版四年級(jí)下冊(cè)數(shù)學(xué)
- 山東第一醫(yī)科大學(xué)英語(yǔ)1(本)期末復(fù)習(xí)題
- 《相學(xué)集存》優(yōu)秀課件
- (完整版)新概念青少版1a1-10測(cè)試卷
- 2023年江蘇蘇州工業(yè)園區(qū)管委會(huì)招聘筆試參考題庫(kù)附帶答案詳解
- 優(yōu)化少先隊(duì)儀式教育的嘗試 論文
- 【知識(shí)解析】化學(xué)促進(jìn)科學(xué)技術(shù)的發(fā)展
- 大學(xué)生職業(yè)規(guī)劃-教師職業(yè)規(guī)劃書(shū)范文
評(píng)論
0/150
提交評(píng)論