講義成果課件c ch_第1頁(yè)
講義成果課件c ch_第2頁(yè)
講義成果課件c ch_第3頁(yè)
講義成果課件c ch_第4頁(yè)
講義成果課件c ch_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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)介

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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論