VisualC2008大學(xué)教程第十九章ppt課件_第1頁
VisualC2008大學(xué)教程第十九章ppt課件_第2頁
VisualC2008大學(xué)教程第十九章ppt課件_第3頁
VisualC2008大學(xué)教程第十九章ppt課件_第4頁
VisualC2008大學(xué)教程第十九章ppt課件_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴理工大學(xué)華信軟件學(xué)院理工大學(xué)華信軟件學(xué)院 張一鳴張一鳴20192019年年8 8月月2020日日C#C#語言程序設(shè)計語言程序設(shè)計C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 創(chuàng)建、讀、寫和更新文件創(chuàng)建、讀、寫和更新文件 C#流類層次流類層次 用用File與與Directory類取得計算機(jī)上的文件與目錄信息類取得計算機(jī)上的文件與目錄信息 用用LINQ查找目錄查找目錄 順序訪問文件處理順序訪問文件處理 用類用類FileStream、StreamReader與與StreamWriter讀寫文讀寫文本文件本文件 用用LINQ和和yield return迭代文

2、件記錄,找到匹配指定條件的迭代文件記錄,找到匹配指定條件的記錄記錄 用類與用類與BinaryFormatter讀寫對象文件讀寫對象文件C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 存儲在程序變量或數(shù)組中的數(shù)據(jù)是臨時的,在程序存儲在程序變量或數(shù)組中的數(shù)據(jù)是臨時的,在程序運行結(jié)束后就會消失。文件則用來永久性地保存大運行結(jié)束后就會消失。文件則用來永久性地保存大量的數(shù)據(jù),在創(chuàng)建數(shù)據(jù)的程序終止后仍然保存。計量的數(shù)據(jù),在創(chuàng)建數(shù)據(jù)的程序終止后仍然保存。計算機(jī)把文件存放在輔助存儲器上,如磁盤、光盤、算機(jī)把文件存放在輔助存儲器上,如磁盤、光盤、閃存閃存U U盤或磁帶上。盤或磁帶上。 本章介紹本章介紹C#C#程序

3、中如何創(chuàng)建、更新和處理數(shù)據(jù),首程序中如何創(chuàng)建、更新和處理數(shù)據(jù),首先概述從位到文件的數(shù)據(jù)層次,然后介紹先概述從位到文件的數(shù)據(jù)層次,然后介紹FCLFCL的一些的一些文件處理類,進(jìn)而用實例介紹如何確定計算機(jī)上的文件處理類,進(jìn)而用實例介紹如何確定計算機(jī)上的文件與目錄信息。最后介紹如何操作文本文件和二文件與目錄信息。最后介紹如何操作文本文件和二進(jìn)制格式對象格式的二進(jìn)制文件。進(jìn)制格式對象格式的二進(jìn)制文件。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴一個計算機(jī)系統(tǒng)是按照層次組織數(shù)據(jù)的,即一個計算機(jī)系統(tǒng)是按照層次組織數(shù)據(jù)的,即由位組成字節(jié),字節(jié)組成字段域),字段組由位組成字節(jié),字節(jié)組成字段域),字段組成記錄,

4、記錄組成文件,文件組成數(shù)據(jù)庫。成記錄,記錄組成文件,文件組成數(shù)據(jù)庫。字段是一組有意義的字符。例如,一個學(xué)生字段是一組有意義的字符。例如,一個學(xué)生的姓名、學(xué)號、專業(yè)等。的姓名、學(xué)號、專業(yè)等。一個記錄描述一個實體一個記錄描述一個實體Entity),它可以是),它可以是一個人,一個地方、一個事物或者一個事件。一個人,一個地方、一個事物或者一個事件。有關(guān)實體的信息需要管理和維護(hù)。有關(guān)實體的信息需要管理和維護(hù)。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 計算機(jī)處理的數(shù)據(jù)項構(gòu)成了計算機(jī)處理的數(shù)據(jù)項構(gòu)成了“數(shù)據(jù)的層次數(shù)據(jù)的層次”。在這個結(jié)。在這個結(jié)構(gòu)中,數(shù)據(jù)項從位到字符再到域是越來越大、越來越復(fù)構(gòu)中,數(shù)據(jù)

5、項從位到字符再到域是越來越大、越來越復(fù)雜。雜。 通常,記錄是由多個域構(gòu)成的。例如,一張工資表中,通常,記錄是由多個域構(gòu)成的。例如,一張工資表中,為雇員建立的一條記錄會包含下述各域:為雇員建立的一條記錄會包含下述各域:1 1、雇員標(biāo)識符、雇員標(biāo)識符2 2、名字、名字3 3、地址、地址4 4、小時工資等級、小時工資等級 5 5、免稅申請?zhí)?、免稅申請?zhí)? 6、年度收入、年度收入7 7、稅收額、稅收額 在上面的例子中,每一個域都針對同一個雇員。在上面的例子中,每一個域都針對同一個雇員。一個文件就是一組相關(guān)的記錄的集合。記錄的個數(shù)可以一個文件就是一組相關(guān)的記錄的集合。記錄的個數(shù)可以是幾條,也可能是成千上

6、萬條。是幾條,也可能是成千上萬條。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴為了查找文件中某個制定的記錄,在文件中的每個記錄至少為了查找文件中某個制定的記錄,在文件中的每個記錄至少要選出一個字段或域來作為記錄關(guān)鍵字要選出一個字段或域來作為記錄關(guān)鍵字record key),它它唯一地標(biāo)識屬于某個人或?qū)嶓w的的記錄。例如,在上面提到的唯一地標(biāo)識屬于某個人或?qū)嶓w的的記錄。例如,在上面提到的工資記錄表中,通常用雇員標(biāo)識號作為記錄關(guān)鍵字。工資記錄表中,通常用雇員標(biāo)識號作為記錄關(guān)鍵字。SallyBlackTomBlueIrisOrangeJudyGreenRandyRedJudyGreen文件文件記錄記錄

7、Judy域域字節(jié)字節(jié)01001010位位1C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴文件中的記錄有多種組織方式。最常見的是按記錄關(guān)文件中的記錄有多種組織方式。最常見的是按記錄關(guān)鍵字字段的順序存儲記錄,按這種方式存儲記錄的文件鍵字字段的順序存儲記錄,按這種方式存儲記錄的文件稱為稱為“順序文件順序文件”(sequential file)。順序存取文件)。順序存取文件的特點是:在這類文件進(jìn)行讀寫操作時,總是從文件首的特點是:在這類文件進(jìn)行讀寫操作時,總是從文件首開始,從頭到尾地讀或?qū)?。也就是說,當(dāng)順序存取文件開始,從頭到尾地讀或?qū)?。也就是說,當(dāng)順序存取文件時,要讀第時,要讀第n個字節(jié),先要讀取前個

8、字節(jié),先要讀取前n-1個字節(jié),而不能直個字節(jié),而不能直接讀取第接讀取第n個字節(jié),寫操作也類似。個字節(jié),寫操作也類似。直接存取文件又稱為隨機(jī)存取文件,其特點是:可以直接存取文件又稱為隨機(jī)存取文件,其特點是:可以直接指定要讀寫的字節(jié)在文件中的位置,然后直接對此直接指定要讀寫的字節(jié)在文件中的位置,然后直接對此位置上的數(shù)據(jù)進(jìn)行讀寫操作。位置上的數(shù)據(jù)進(jìn)行讀寫操作。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴絕大多數(shù)商業(yè)機(jī)構(gòu)要用許多文件來絕大多數(shù)商業(yè)機(jī)構(gòu)要用許多文件來存儲數(shù)據(jù)。例如,公司里會有工資表存儲數(shù)據(jù)。例如,公司里會有工資表文件、應(yīng)收項目文件、應(yīng)付賬目文件、文件、應(yīng)收項目文件、應(yīng)付賬目文件、存貨文件

9、和其他多種類型的文件。有存貨文件和其他多種類型的文件。有時把一組相關(guān)的文件稱為時把一組相關(guān)的文件稱為“數(shù)據(jù)庫數(shù)據(jù)庫”(database)。)。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴員工檔案員工檔案姓名姓名地址地址性別性別 職務(wù)職務(wù) 工資單工資單基礎(chǔ)工資基礎(chǔ)工資獎金、交稅獎金、交稅其他支出其他支出 實發(fā)工資實發(fā)工資 福利福利人身保險人身保險養(yǎng)老金計劃養(yǎng)老金計劃保健計劃保健計劃 退休保障退休保障 文件管文件管理系統(tǒng)理系統(tǒng)員工檔案員工檔案應(yīng)用程序應(yīng)用程序工資管理工資管理應(yīng)用程序應(yīng)用程序福利管理福利管理應(yīng)用程序應(yīng)用程序培訓(xùn)培訓(xùn)專業(yè)培訓(xùn)專業(yè)培訓(xùn)外語培訓(xùn)外語培訓(xùn) 崗位培訓(xùn)崗位培訓(xùn) 培訓(xùn)管理培訓(xùn)管理應(yīng)

10、用程序應(yīng)用程序人事部人事部人事部人事部人事部人事部人事部人事部集成的人力資源數(shù)據(jù)庫集成的人力資源數(shù)據(jù)庫C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 數(shù)據(jù)的冗余和混淆數(shù)據(jù)的冗余和混淆 在多個數(shù)據(jù)文件中重復(fù)出現(xiàn)相同在多個數(shù)據(jù)文件中重復(fù)出現(xiàn)相同的數(shù)據(jù)為數(shù)據(jù)冗余,它導(dǎo)致數(shù)據(jù)存儲空間的浪費和數(shù)的數(shù)據(jù)為數(shù)據(jù)冗余,它導(dǎo)致數(shù)據(jù)存儲空間的浪費和數(shù)據(jù)的不一致。據(jù)的不一致。 程序程序-數(shù)據(jù)的依賴性數(shù)據(jù)的依賴性 是指數(shù)據(jù)文件和維護(hù)它的相關(guān)是指數(shù)據(jù)文件和維護(hù)它的相關(guān)應(yīng)用程序之間的過分依賴。應(yīng)用程序之間的過分依賴。 缺乏靈活性缺乏靈活性 傳統(tǒng)的文件系統(tǒng)可以處理定義完好的報傳統(tǒng)的文件系統(tǒng)可以處理定義完好的報表,但對于特殊的

11、表和臨時定義的需求卻無能為力。表,但對于特殊的表和臨時定義的需求卻無能為力。 安全性差安全性差 對數(shù)據(jù)缺乏控制和管理,實際上對訪問和對數(shù)據(jù)缺乏控制和管理,實際上對訪問和分發(fā)信息失控。分發(fā)信息失控。 數(shù)據(jù)的共享性和有效性差數(shù)據(jù)的共享性和有效性差 不同文件的信息相互沒有不同文件的信息相互沒有聯(lián)系,使得信息不能被共享和及時訪問。聯(lián)系,使得信息不能被共享和及時訪問。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴C#C#語言把每一個文件都看作一個有序的字節(jié)流,即語言把每一個文件都看作一個有序的字節(jié)流,即若干順序排列的字節(jié)串形成一個連續(xù)的流,寫在磁盤等若干順序排列的字節(jié)串形成一個連續(xù)的流,寫在磁盤等外部存儲

12、器上。每個文件以文件結(jié)束符或特定的字節(jié)號外部存儲器上。每個文件以文件結(jié)束符或特定的字節(jié)號處結(jié)束。當(dāng)打開一個文件時,該文件就和某個流關(guān)聯(lián)起處結(jié)束。當(dāng)打開一個文件時,該文件就和某個流關(guān)聯(lián)起來。程序執(zhí)行時,運行環(huán)境創(chuàng)建三個流對象來支持程序來。程序執(zhí)行時,運行環(huán)境創(chuàng)建三個流對象來支持程序與特定文件或設(shè)備之間的通信:標(biāo)準(zhǔn)輸出流對象與特定文件或設(shè)備之間的通信:標(biāo)準(zhǔn)輸出流對象Console.OutConsole.Out使程序向屏幕輸出數(shù)據(jù)、標(biāo)準(zhǔn)輸入流對象使程序向屏幕輸出數(shù)據(jù)、標(biāo)準(zhǔn)輸入流對象Console.InConsole.In使程序從鍵盤輸入數(shù)據(jù)、與標(biāo)準(zhǔn)錯誤流對象使程序從鍵盤輸入數(shù)據(jù)、與標(biāo)準(zhǔn)錯誤流對象Co

13、nsole.ErrorConsole.Error使程序向屏幕輸出錯誤消息。使程序向屏幕輸出錯誤消息。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴前面章節(jié)已經(jīng)介紹過的前面章節(jié)已經(jīng)介紹過的Console方法方法WriteLine和和Write用用Console.Out進(jìn)行輸出,進(jìn)行輸出, Console方法方法Read和和ReadLine用用Console.In進(jìn)行輸入。進(jìn)行輸入。FCL中文件處理類的派生關(guān)系:中文件處理類的派生關(guān)系:TextReaderTextWriterStreamStreamReaderStreamWriterFileStream派生派生從文件輸入文本從文件輸入文本將文件輸出

14、到文本將文件輸出到文本從文件輸入文本從文件輸入文本C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴System.ObjectSystem.MarshallByRefObj,System.IO.PathSystem.IO.FileSystem.IO.DirectorySystem.IO.StreamSystem.IO.TextReaderSystem.IO.TextWriterSystem.IO.FileSystemInfoSystem.IO.ComponentSystem.IO.FileStreamSystem.IO.StreamReaderSystem.IO.StreamWriterSystem

15、.IO.FilleInfoSystem.IO.DirectoryInfoSystem.IO.FileSystemWatcherC#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 File: File: 提供創(chuàng)建、復(fù)制、刪除、移動和打開文件的靜態(tài)方法,提供創(chuàng)建、復(fù)制、刪除、移動和打開文件的靜態(tài)方法,并協(xié)助創(chuàng)建并協(xié)助創(chuàng)建FileStreamFileStream對象。對象。 Directory: Directory: 提供創(chuàng)建、復(fù)制、刪除、移動和打開目錄的靜態(tài)方提供創(chuàng)建、復(fù)制、刪除、移動和打開目錄的靜態(tài)方法。法。 Path: Path: 對包含文件或目錄路徑信息的字符串執(zhí)行操作。對包含文件或目錄路徑信息的

16、字符串執(zhí)行操作。 FileInfo:FileInfo:提供創(chuàng)建、復(fù)制、刪除、移動和打開文件的實例方法,提供創(chuàng)建、復(fù)制、刪除、移動和打開文件的實例方法,并協(xié)助創(chuàng)建并協(xié)助創(chuàng)建FileStreamFileStream對象。對象。 DirectoryInfo: DirectoryInfo: 提供創(chuàng)建、復(fù)制、枚舉目錄和子目錄的實例方提供創(chuàng)建、復(fù)制、枚舉目錄和子目錄的實例方法。法。 FileStream: FileStream: 指向文件流,支持對文件的讀指向文件流,支持對文件的讀/ /寫和隨機(jī)訪問文件。寫和隨機(jī)訪問文件。 StreamReader: StreamReader: 從流中讀取字符數(shù)據(jù)。從流中

17、讀取字符數(shù)據(jù)。 StreamWriter: StreamWriter: 向流中寫入字符數(shù)據(jù)。向流中寫入字符數(shù)據(jù)。 FileSystemWatcherFileSystemWatcher:用于監(jiān)視文件和目錄的變化。:用于監(jiān)視文件和目錄的變化。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴C#分別提供了分別提供了File類和類和Directory類用于操縱文件和目錄信息。類用于操縱文件和目錄信息。這兩個類可以被實例化,但不能被其他類繼承。這兩個類可以被實例化,但不能被其他類繼承。File類類File類支持對文件的創(chuàng)建、復(fù)制、刪除、移動和打開的靜態(tài)方類支持對文件的創(chuàng)建、復(fù)制、刪除、移動和打開的靜態(tài)方法,

18、并協(xié)助創(chuàng)建文件流法,并協(xié)助創(chuàng)建文件流FileStream對象。該類包含了對象。該類包含了40多個方多個方法,下表列出了一些常用的方法。留意:法,下表列出了一些常用的方法。留意: 由于由于File類中的所有方法都是靜態(tài)的類中的所有方法都是靜態(tài)的 ,所以如果只想執(zhí)行一,所以如果只想執(zhí)行一個操作,那么使用個操作,那么使用File類中方法的效率比使用類中方法的效率比使用FileInfo類中的方類中的方法要高。法要高。 File類中的靜態(tài)方法對所有方法都執(zhí)行安全檢查,因此如果打類中的靜態(tài)方法對所有方法都執(zhí)行安全檢查,因此如果打算多次重用某個對象,要用算多次重用某個對象,要用FileInfo類中的方法。類

19、中的方法。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴靜態(tài)方法靜態(tài)方法描述描述AppendText返回返回StreamWriter, 將文本添加到現(xiàn)有文件或建新文件將文本添加到現(xiàn)有文件或建新文件Copy將文件復(fù)制到新文件將文件復(fù)制到新文件Create創(chuàng)建文件并返回相關(guān)聯(lián)的創(chuàng)建文件并返回相關(guān)聯(lián)的FileStreamCreateText創(chuàng)建文本文件并返回相關(guān)聯(lián)的創(chuàng)建文本文件并返回相關(guān)聯(lián)的StreamWriterDelete刪除指定文件刪除指定文件Existes指定文件存在時返回指定文件存在時返回true,否則返回,否則返回falseGetCreationTime返回返回DateTime對象,表示文

20、件創(chuàng)建時間對象,表示文件創(chuàng)建時間GetLastAccessTime返回返回DateTime對象,表示文件最后訪問時間對象,表示文件最后訪問時間GetLastWriteTime返回返回DateTime對象,表示文件修改時間對象,表示文件修改時間Move將指定文件移到指定目錄,并提供指定新文件名的選將指定文件移到指定目錄,并提供指定新文件名的選項項Open打開指定路徑上的打開指定路徑上的FileStreamOpenRead打開現(xiàn)有文件以進(jìn)行讀取打開現(xiàn)有文件以進(jìn)行讀取C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴靜態(tài)方法靜態(tài)方法描述描述OpenText打開現(xiàn)有打開現(xiàn)有UTF-8編碼文件以進(jìn)行讀取編碼文

21、件以進(jìn)行讀取OpenWrite打開現(xiàn)有文件以進(jìn)行寫入打開現(xiàn)有文件以進(jìn)行寫入ReadAllBytes打開一文件,將其內(nèi)容讀入字符串,并關(guān)閉該文件打開一文件,將其內(nèi)容讀入字符串,并關(guān)閉該文件ReadAllLines打開文本文件,將其所有行讀入字符串?dāng)?shù)組,并關(guān)閉打開文本文件,將其所有行讀入字符串?dāng)?shù)組,并關(guān)閉之之ReadAllText打開文本文件,將其所有行讀入一個字符串,并關(guān)閉打開文本文件,將其所有行讀入一個字符串,并關(guān)閉之之Replace用其他文件內(nèi)容替換指定文件內(nèi)容用其他文件內(nèi)容替換指定文件內(nèi)容SetCreationTime設(shè)置創(chuàng)建文件的日期和時間設(shè)置創(chuàng)建文件的日期和時間SetLastAcces

22、sTime設(shè)置最后訪問文件的日期和時間設(shè)置最后訪問文件的日期和時間SetLastWriteTime設(shè)置最后修改文件的日期和時間設(shè)置最后修改文件的日期和時間WriteAllBytes創(chuàng)建新文件,向其寫入指定字符數(shù)組,并關(guān)閉該文件創(chuàng)建新文件,向其寫入指定字符數(shù)組,并關(guān)閉該文件WriteAllLines創(chuàng)建新文件,向其寫入指定字符串,并關(guān)閉之創(chuàng)建新文件,向其寫入指定字符串,并關(guān)閉之WriteAllText創(chuàng)建新文件,向其寫入指定內(nèi)容,并關(guān)閉之創(chuàng)建新文件,向其寫入指定內(nèi)容,并關(guān)閉之C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴新建一個新建一個Windows應(yīng)用程序,命名為應(yīng)用程序,命名為test1。默認(rèn)

23、。默認(rèn)窗體為窗體為Form1.csForm1窗體中添加一個窗體中添加一個TextBox控件和一個控件和一個Button控件。其中,控件。其中,TextBox控件用來輸入要創(chuàng)建的文件控件用來輸入要創(chuàng)建的文件路徑及名稱,路徑及名稱,Button控件用來接收用戶鼠標(biāo)單擊控件用來接收用戶鼠標(biāo)單擊并執(zhí)行創(chuàng)建文件操作。并執(zhí)行創(chuàng)建文件操作。注意使用與文件、文件夾及流相關(guān)的類時,首先需注意使用與文件、文件夾及流相關(guān)的類時,首先需要添加要添加System.IO命名空間。命名空間。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴using System; using System.Collections.Generi

24、c;using System.ComponentModel; using System.IO;using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;namespace _ public partial class Form1 : Form public Form1 ( ) InitializeComponent ( ); private void button1_Click ( object sender, EventArgs e ) if ( textBox1.Text =

25、 string.Empty ) / MessageBox.Show ( 文件名不能為空!文件名不能為空!); 判斷輸入的文判斷輸入的文件名是否為空件名是否為空C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 else if ( File.Exists ( textBox1.Text ) ) MessageBox.Show(該文件已經(jīng)存在該文件已經(jīng)存在); else File.Create(textBox1.Text); 使用使用File類的類的Exists方法判方法判斷要創(chuàng)建的文件是否存在斷要創(chuàng)建的文件是否存在使用使用File類的類的Create方法創(chuàng)建文件方法創(chuàng)建文件C#語言程序設(shè)計理工大學(xué)華信

26、軟件學(xué)院 張一鳴程序運行前程序運行前輸入文件名輸入文件名輸入文件名輸入文件名若已存在,報警若已存在,報警C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴Directory類提供了用于創(chuàng)建、枚舉、刪除、類提供了用于創(chuàng)建、枚舉、刪除、移動目錄和子目錄的靜態(tài)方法,移動目錄和子目錄的靜態(tài)方法, Directory類中方法的效率比使用類中方法的效率比使用DirectoryInfo類中類中的方法要高。下表列出了一些常用的方法。的方法要高。下表列出了一些常用的方法。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴靜態(tài)方法靜態(tài)方法描述描述CreateDirectory創(chuàng)建目錄并返回相關(guān)聯(lián)的創(chuàng)建目錄并返回相關(guān)聯(lián)的Dir

27、ectoryInfo對象對象Delete刪除指定目錄刪除指定目錄Exists指定目錄存在時返回指定目錄存在時返回true,否則返回,否則返回falseGetDirectories返回一個字符串?dāng)?shù)組,包含指定目錄中的子目錄名返回一個字符串?dāng)?shù)組,包含指定目錄中的子目錄名GetFiles返回一個字符串?dāng)?shù)組,包含指定目錄中的文件名返回一個字符串?dāng)?shù)組,包含指定目錄中的文件名GetFileSystemEntries 返回指定目錄中的子目錄名返回指定目錄中的子目錄名GetCreationTime返回返回DateTime對象,表示目錄創(chuàng)建日期和時間對象,表示目錄創(chuàng)建日期和時間GetLastAccessTime

28、返回返回DateTime對象,表示目錄最后訪問日期和時間對象,表示目錄最后訪問日期和時間GetLastWriteTime返回返回DateTime對象,表示目錄修改日期和時間對象,表示目錄修改日期和時間GetParent檢索指定路徑的父目錄,包括絕對路徑和相對路徑檢索指定路徑的父目錄,包括絕對路徑和相對路徑Move將指定目錄移到指定新位置將指定目錄移到指定新位置SetCreationTime為指定目錄設(shè)置創(chuàng)建日期和時間為指定目錄設(shè)置創(chuàng)建日期和時間SetLastAccessTime為指定目錄設(shè)置目錄最后訪問日期和時間為指定目錄設(shè)置目錄最后訪問日期和時間SetLastWriteTime為指定目錄設(shè)置

29、目錄修改日期和時間為指定目錄設(shè)置目錄修改日期和時間C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴新建一個新建一個Windows應(yīng)用程序,命名為應(yīng)用程序,命名為test2。默認(rèn)。默認(rèn)窗體為窗體為Form1.csForm1窗體中添加一個窗體中添加一個TextBox控件和一個控件和一個Button控件。其中,控件。其中,TextBox控件用來輸入要創(chuàng)建的文件控件用來輸入要創(chuàng)建的文件夾路徑及名稱,夾路徑及名稱,Button控件用來接收用戶鼠標(biāo)單控件用來接收用戶鼠標(biāo)單擊并執(zhí)行創(chuàng)建文件夾操作。擊并執(zhí)行創(chuàng)建文件夾操作。注意使用與文件、文件夾及流相關(guān)的類時,首先需注意使用與文件、文件夾及流相關(guān)的類時,首先需要添

30、加要添加System.IO命名空間。命名空間。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴using System; using System.Data; using System.Text; using System.IO; using System.Windows.Forms;using System.Collections.Generic; using System.Drawing;using System.ComponentModel; namespace _ public partial class Form1 : Form public Form1 ( ) InitializeCo

31、mponent ( ); private void button1_Click ( object sender, EventArgs e ) if ( textBox1.Text = string.Empty ) MessageBox.Show ( 文件夾名稱不能為空!文件夾名稱不能為空! ); else判斷輸入的文判斷輸入的文件名是否為空件名是否為空C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 if (Directory.Exists ( textBox1.Text ) ) MessageBox.Show (該文件夾已經(jīng)存在該文件夾已經(jīng)存在); else Directory.CreateDi

32、rectory(textBox1.Text); 運用運用 Directory 類的類的Exists方法方法判斷要創(chuàng)建的文件夾是否存在判斷要創(chuàng)建的文件夾是否存在使用使用Directory類的類的CreateDirectory方法方法創(chuàng)建文件夾創(chuàng)建文件夾C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴程序運行前程序運行前輸入文件夾名輸入文件夾名輸入文件夾名輸入文件夾名若已存在,報警若已存在,報警C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴C#分別提供了分別提供了FileInfo類和類和DirectoryInfo類類用于操縱文件和目錄信息,從這點來看,這用于操縱文件和目錄信息,從這點來看,這與與File

33、類和類和Directory類非常近似。但是從類非常近似。但是從C#語法的角度來看,這兩個類都是普通類,都語法的角度來看,這兩個類都是普通類,都沒有靜態(tài)方法。而沒有靜態(tài)方法。而File類和類和Directory類則屬類則屬于靜態(tài)類,都包含有靜態(tài)方法。于靜態(tài)類,都包含有靜態(tài)方法。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴FileInfo類的方法僅用于實例化的對象,支持對文件的類的方法僅用于實例化的對象,支持對文件的創(chuàng)建、復(fù)制、刪除、移動和打開等操作。創(chuàng)建、復(fù)制、刪除、移動和打開等操作。File類是靜態(tài)類,故其調(diào)用需要字符串參數(shù)為每一個方類是靜態(tài)類,故其調(diào)用需要字符串參數(shù)為每一個方法調(diào)用規(guī)定文件位

34、置。因此如果在對象上進(jìn)行單一的方法法調(diào)用規(guī)定文件位置。因此如果在對象上進(jìn)行單一的方法調(diào)用,就用靜態(tài)調(diào)用,就用靜態(tài)File類的方法,這時類的方法,這時.NET框架不必執(zhí)行實框架不必執(zhí)行實例化新對象并調(diào)用其方法的過程,執(zhí)行速度快。若在文件例化新對象并調(diào)用其方法的過程,執(zhí)行速度快。若在文件上執(zhí)行幾種操作,則實例化上執(zhí)行幾種操作,則實例化FileInfo對象會在文件系統(tǒng)上對象會在文件系統(tǒng)上一直引用正確的文件,不用像靜態(tài)類那樣每次都尋找文件,一直引用正確的文件,不用像靜態(tài)類那樣每次都尋找文件,可以節(jié)約時間,提高效率??梢怨?jié)約時間,提高效率。下表列出了該類一些常用的屬性。下表列出了該類一些常用的屬性。C#

35、語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴屬性屬性說明說明CreationTime獲取或設(shè)置當(dāng)前獲取或設(shè)置當(dāng)前FileSystemInfo對象的創(chuàng)建時間對象的創(chuàng)建時間Directory獲取父目錄的實例獲取父目錄的實例DirectoryName獲取表示目錄的完整路徑的字符串獲取表示目錄的完整路徑的字符串Existes獲取指示文件是否存在的值獲取指示文件是否存在的值Extension獲取表示文件擴(kuò)展名部分的字符串獲取表示文件擴(kuò)展名部分的字符串FullName獲取目錄或文件的完整目錄獲取目錄或文件的完整目錄IsReadOnly獲取或設(shè)置當(dāng)前文件是否為只讀的邏輯值獲取或設(shè)置當(dāng)前文件是否為只讀的邏輯值La

36、stAccessTime獲取或設(shè)置當(dāng)前文件或目錄的最后訪問時間獲取或設(shè)置當(dāng)前文件或目錄的最后訪問時間LastWriteTime獲取或設(shè)置當(dāng)前文件或目錄的最后修改時間獲取或設(shè)置當(dāng)前文件或目錄的最后修改時間Length獲取當(dāng)前文件的大小獲取當(dāng)前文件的大小Name獲取文件名獲取文件名C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴新建一個新建一個Windows應(yīng)用程序,命名為應(yīng)用程序,命名為test3。默認(rèn)。默認(rèn)窗體為窗體為Form1.csForm1窗體中添加一個窗體中添加一個TextBox控件和一個控件和一個Button控件。其中,控件。其中,TextBox控件用來輸入要創(chuàng)建的文件控件用來輸入要創(chuàng)建的

37、文件路徑及名稱,路徑及名稱,Button控件用來接收用戶鼠標(biāo)單擊控件用來接收用戶鼠標(biāo)單擊并執(zhí)行創(chuàng)建文件操作。并執(zhí)行創(chuàng)建文件操作。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴private void button1_Click ( object sender, EventArgs e ) if ( textBox1.Text = string.Empty ) MessageBox.Show ( 文件名稱不能為空!文件名稱不能為空!); else FileInfo finfo = new FileInfo ( textBox1.Text ); if ( finfo.Exists ) Message

38、Box.Show ( 該文件已經(jīng)存在該文件已經(jīng)存在“ ); else finfo.Create ( ); 判斷輸入的文判斷輸入的文件名是否為空件名是否為空使用使用FileInfo對象的對象的Exists屬性判斷要創(chuàng)建屬性判斷要創(chuàng)建的文件是否存在的文件是否存在使用使用FileInfo對象的對象的Create方法創(chuàng)建文件方法創(chuàng)建文件C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴程序運行前程序運行前輸入文件名輸入文件名輸入文件名輸入文件名若已存在,報警若已存在,報警C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴DirectoryInfo類的方法僅用于實例化的對象,支持對類的方法僅用于實例化的對象,支持對

39、文件夾的創(chuàng)建、復(fù)制、刪除、移動和打開等操作。文件夾的創(chuàng)建、復(fù)制、刪除、移動和打開等操作。Directory類是靜態(tài)類,故其調(diào)用需要字符串參數(shù)為每類是靜態(tài)類,故其調(diào)用需要字符串參數(shù)為每一個方法調(diào)用規(guī)定文件夾位置。因此如果在對象上進(jìn)行單一個方法調(diào)用規(guī)定文件夾位置。因此如果在對象上進(jìn)行單一的方法調(diào)用,就用靜態(tài)一的方法調(diào)用,就用靜態(tài)Directory類的方法,這時類的方法,這時.NET框架不必執(zhí)行實例化新對象并調(diào)用其方法的過程,執(zhí)行速框架不必執(zhí)行實例化新對象并調(diào)用其方法的過程,執(zhí)行速度快。若在文件上執(zhí)行幾種操作,則實例化度快。若在文件上執(zhí)行幾種操作,則實例化DirectoryInfo對象會在文件系統(tǒng)上

40、一直引用正確的文件夾,不用像靜態(tài)對象會在文件系統(tǒng)上一直引用正確的文件夾,不用像靜態(tài)類那樣每次都尋找文件夾,可以節(jié)約時間,提高效率。類那樣每次都尋找文件夾,可以節(jié)約時間,提高效率。下表列出了該類一些常用的屬性。下表列出了該類一些常用的屬性。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴屬性屬性說明說明CreationTime獲取或設(shè)置當(dāng)前獲取或設(shè)置當(dāng)前FileSystemInfo對象的創(chuàng)建時間對象的創(chuàng)建時間Exists獲取指示文件夾是否存在的值獲取指示文件夾是否存在的值Extension獲取表示文件擴(kuò)展名部分的字符串獲取表示文件擴(kuò)展名部分的字符串FullName獲取目錄或文件的完整目錄獲取目錄或文

41、件的完整目錄LastAccessTime獲取或設(shè)置當(dāng)前文件或目錄的最后訪問時間獲取或設(shè)置當(dāng)前文件或目錄的最后訪問時間LastWriteTime獲取或設(shè)置當(dāng)前文件或目錄的最后修改時間獲取或設(shè)置當(dāng)前文件或目錄的最后修改時間Name獲取獲取DirectoryInfo實例的名稱實例的名稱Parent獲取指定子目錄的父目錄獲取指定子目錄的父目錄Root獲取路徑的根部分獲取路徑的根部分C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴新建一個新建一個Windows應(yīng)用程序,命名為應(yīng)用程序,命名為test4。默認(rèn)。默認(rèn)窗體為窗體為Form1.csForm1窗體中添加一個窗體中添加一個TextBox控件和一個控件和

42、一個Button控件。其中,控件。其中,TextBox控件用來輸入要創(chuàng)建的文件控件用來輸入要創(chuàng)建的文件夾路徑及名稱,夾路徑及名稱,Button控件用來接收用戶鼠標(biāo)單控件用來接收用戶鼠標(biāo)單擊并執(zhí)行創(chuàng)建文件夾操作。擊并執(zhí)行創(chuàng)建文件夾操作。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴private void button1_Click ( object sender, EventArgs e ) if ( textBox1.Text = string.Empty ) MessageBox.Show ( “文件夾名稱不能為空!文件夾名稱不能為空!); else DirectoryInfo dinfo

43、= new DirectoryInfo ( textBox1.Text ); if ( dinfo.Exists ) MessageBox.Show ( “該文件夾已經(jīng)存在該文件夾已經(jīng)存在“ ); else dinfo.Create ( ); 判斷輸入的文件判斷輸入的文件夾名是否為空夾名是否為空使用使用DirectoryInfo對象對象的的Exists屬性判斷要創(chuàng)屬性判斷要創(chuàng)建的文件夾是否存在建的文件夾是否存在運用運用 DirectoryInfo對對象的象的Create方法創(chuàng)建方法創(chuàng)建文件夾文件夾C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴程序運行前程序運行前輸入文件夾名輸入文件夾名輸入文件夾

44、名輸入文件夾名若已存在,報警若已存在,報警C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴C#分別提供的對文件的基本操作大體可以分別提供的對文件的基本操作大體可以分為:判斷文件是否存在、創(chuàng)建文件、復(fù)制分為:判斷文件是否存在、創(chuàng)建文件、復(fù)制或移動文件、刪除文件以及獲取文件基本信或移動文件、刪除文件以及獲取文件基本信息等。息等。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴判斷文件是否存在時,使用判斷文件是否存在時,使用File類的類的Exists方法或方法或FileInfo類的類的Exists屬性來實現(xiàn)。屬性來實現(xiàn)。一、一、 File類的類的Exists方法實現(xiàn)的語法如下:方法實現(xiàn)的語法如下:publ

45、ic static bool Exists (string path )其中,其中,path是要檢查的文件是要檢查的文件返回值:若返回值:若path包含的文件存在并且調(diào)用者對該文件有包含的文件存在并且調(diào)用者對該文件有訪問權(quán),則返回為訪問權(quán),則返回為true;否則返回;否則返回false。若。若path為空,為空,也返回也返回false。例如,例如,F(xiàn)ile.Exists ( “C:Test.txt” );C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴public override bool Exists get; 屬性值:若該文件存在,則返回為屬性值:若該文件存在,則返回為true;否則若該文件

46、不;否則若該文件不存在或如果該文件是目錄,則返回存在或如果該文件是目錄,則返回false。例如,下面的代碼首先實例化一個例如,下面的代碼首先實例化一個FileInfo對象,然后使對象,然后使用該對象調(diào)用用該對象調(diào)用FileInfo類的類的Exists屬性判斷屬性判斷C盤目錄下是盤目錄下是否存在否存在Test.txt文件。文件。FileInfo fInfo = new FileInfo (“C:Test.txt” );if ( fInfo.Exists ) C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴創(chuàng)建文件可以使用創(chuàng)建文件可以使用File類的類的Create方法或方法或FileInfo類的類的

47、Create屬屬性來實現(xiàn)。性來實現(xiàn)。一、一、 File類的類的Create方法方法該方法為可重載方法,有如下四種重載形式:該方法為可重載方法,有如下四種重載形式:public static FileStream Create ( string path )public static FileStream Create ( string path, int bufferSize )public static FileStream Create ( string path, int bufferSize, FileOptions options )public static FileStream

48、Create ( string path, int bufferSize, FileOptions options, FileSecurity fileecurity )C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴參數(shù)參數(shù)說明說明path文件名文件名bufferSize用于讀取或?qū)懭胛募囊逊湃刖彌_區(qū)的字節(jié)數(shù)用于讀取或?qū)懭胛募囊逊湃刖彌_區(qū)的字節(jié)數(shù)OptionsFileOptions值之一,描述如何創(chuàng)建或改寫該文件值之一,描述如何創(chuàng)建或改寫該文件fileSecurityFileSecurity值之一,描述文件的訪問控制和審核值之一,描述文件的訪問控制和審核安全性安全性File.Create (

49、 “C:Test.txt” );操作代碼示范:操作代碼示范:C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴FileInfo類的類的Create方法語法如下:方法語法如下:public FileInfo Create ( )返回值:新文件,默認(rèn)情況下,該方法將向所有用戶授予返回值:新文件,默認(rèn)情況下,該方法將向所有用戶授予對新文件的完全讀寫訪問權(quán)限。對新文件的完全讀寫訪問權(quán)限。代碼示范:首先實例化一代碼示范:首先實例化一FileInfo對象,然后使用該對象對象,然后使用該對象調(diào)用調(diào)用FileInfo類的類的Create方法,在方法,在D盤根目錄下創(chuàng)建一個盤根目錄下創(chuàng)建一個Text.txt文本文件。

50、文本文件。FileInfo fInfo = new FileInfo (“D:Test.txt” );fInfo.Create ( );C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴復(fù)制或移動文件可以使用復(fù)制或移動文件可以使用File類的類的Copy方法、方法、Move方法方法或者或者FileInfo類的類的CopyTo方法、方法、MoveTo方法來實現(xiàn)。方法來實現(xiàn)。一、一、 File類的類的Copy方法方法該方法為可重載方法,有如下兩種重載形式:該方法為可重載方法,有如下兩種重載形式:public static void Copy ( string sourceFileName, string

51、 destFileName )public static void Copy (string sourceFileName, string destFileName, bool overwrite )sourceFileName:要復(fù)制的源文件:要復(fù)制的源文件destFileName:非目錄的目標(biāo)文件。:非目錄的目標(biāo)文件。overwrite:若可以改寫目標(biāo)文件,為:若可以改寫目標(biāo)文件,為true;否則為;否則為falseC#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴復(fù)制文件實例:復(fù)制文件實例:File.Copy ( “D:Test.txt”, “E:Test.txt” );二、二、 File類的

52、類的Move方法方法將指定文件移到新位置,并提供指定新文件名的選項,語法如將指定文件移到新位置,并提供指定新文件名的選項,語法如下:下:public static void Move ( string sourceFileName, string destFileName )sourceFileName:要移動的文件的名稱:要移動的文件的名稱destFileName:文件的新路徑:文件的新路徑移動文件實例:移動文件實例:File.Move ( “D:Test.txt”, “E:Test.txt” );C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴D:ABCTest.txt復(fù)制前復(fù)制前D:文件文件

53、E:E FGTest.txt復(fù)制前復(fù)制前E:文件文件復(fù)制后復(fù)制后D:文件文件E:E FG復(fù)制后復(fù)制后E:文件文件移動前移動前D:文件文件E:E FGTest.txt移動前移動前E:文件文件D:ABC移動后移動后D:文件文件E:E FG移動后移動后E:文件文件D:ABCTest.txtD:ABCTest.txt執(zhí)行復(fù)制文件命令的效果執(zhí)行復(fù)制文件命令的效果執(zhí)行移動文件命令的效果執(zhí)行移動文件命令的效果C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴FileInfo類的類的CopyTo有兩種重載方法,其語法如下:有兩種重載方法,其語法如下:public FileInfo CopyTo ( string d

54、estFileName )public FileInfo CopyTo ( string destFileName, bool overwrite )destFileName:要復(fù)制的目標(biāo)文件名稱:要復(fù)制的目標(biāo)文件名稱overwrite:若可以改寫目標(biāo)文件,為:若可以改寫目標(biāo)文件,為true;否則為;否則為false返回值:第一種重載形式返回值為帶有限定路徑的新文件。第二種重返回值:第一種重載形式返回值為帶有限定路徑的新文件。第二種重載形式返回值為新文件,或者若載形式返回值為新文件,或者若overwrite為為true,則改寫現(xiàn)有文件。,則改寫現(xiàn)有文件。代碼示范:首先實例化一代碼示范:首先實例

55、化一FileInfo對象,然后使用該對象調(diào)用對象,然后使用該對象調(diào)用FileInfo類的類的CopyTo方法,把方法,把D盤根目錄下的盤根目錄下的Text.txt文本文件復(fù)制到文本文件復(fù)制到E盤。盤。FileInfo fInfo = new FileInfo ( “D:Test.txt” );fInfo.CopyTo (“E:Test.txt”, true );C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴FileInfo類的類的MoveTo把指定文件移到新位置,并可以提供把指定文件移到新位置,并可以提供新文件名。其語法如下:新文件名。其語法如下:publicvoid MoveTo ( stri

56、ng destFileName )destFileName:要將源文件名稱移動到的新路徑:要將源文件名稱移動到的新路徑代碼示范:首先實例化一代碼示范:首先實例化一FileInfo對象,然后使用該對象對象,然后使用該對象調(diào)用調(diào)用FileInfo類的類的MoveTo方法,把方法,把D盤根目錄下的盤根目錄下的Text.txt文本文件移動到文本文件移動到E盤。然后把原來盤。然后把原來D:盤中的盤中的Text.txt文本文件刪除掉。文本文件刪除掉。FileInfo fInfo = new FileInfo ( “D:Test.txt” );fInfo.MoveTo ( “E:Test.txt” );C#

57、語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴刪除文件可以使用刪除文件可以使用File類的類的Delete方法或者方法或者FileInfo類類的的Delete方法來實現(xiàn)。方法來實現(xiàn)。一、一、 File類的類的Delete方法方法該方法的語法如下:該方法的語法如下:public static void Delete ( string path )path:要刪除的文件的名稱:要刪除的文件的名稱例如,下面代碼用例如,下面代碼用File類的類的Delete方法刪除方法刪除D:盤根目盤根目錄下的錄下的Test.txt文本文件:文本文件:File.Delete ( “D:Test.txt” );C#語言程序設(shè)

58、計理工大學(xué)華信軟件學(xué)院 張一鳴FileInfo類的類的Delete方法是永久刪除文件,其語方法是永久刪除文件,其語法如下:法如下:public override Delete ( )代碼示范:首先實例化一代碼示范:首先實例化一FileInfo對象,然后使對象,然后使用該對象調(diào)用用該對象調(diào)用FileInfo類的類的Delete方法,把方法,把D盤根盤根目錄下的目錄下的Text.txt文本文件刪除掉。文本文件刪除掉。FileInfo fInfo = new FileInfo ( “D:Test.txt” );fInfo.Delete ( );C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴獲取文件基本

59、信息時,主要用到了獲取文件基本信息時,主要用到了FileInfoFileInfo類的各種屬性類的各種屬性來實現(xiàn),包括文件的創(chuàng)建時間、最后訪問時間、最后修改來實現(xiàn),包括文件的創(chuàng)建時間、最后訪問時間、最后修改時間、文件所在目錄和完整路徑、文件長度、文件讀寫屬時間、文件所在目錄和完整路徑、文件長度、文件讀寫屬性等。性等。 新建一個新建一個WindowsWindows應(yīng)用程序,命名為應(yīng)用程序,命名為test5test5。默認(rèn)窗體為。默認(rèn)窗體為Form1.csForm1.cs Form1 Form1窗體中添加一個窗體中添加一個OpenFileDialogOpenFileDialog控件、一個控件、一個T

60、extBoxTextBox控件和一個控件和一個ButtonButton控件。其中,控件。其中,OpenFileDialogOpenFileDialog控件用來顯示控件用來顯示“翻開對話框,翻開對話框,TextBoxTextBox控件用來顯示選控件用來顯示選擇的文件名,擇的文件名,ButtonButton控件用來接收用戶鼠標(biāo)單擊、執(zhí)行控件用來接收用戶鼠標(biāo)單擊、執(zhí)行“翻開翻開” ” 對話框并獲取文件的基本信息。對話框并獲取文件的基本信息。C#語言程序設(shè)計理工大學(xué)華信軟件學(xué)院 張一鳴 private void button1_Click ( object sender, EventArgs e )

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論