版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章數(shù)據(jù)流與文本文件讀寫2Ch6數(shù)據(jù)流與文本文件讀寫6.1目錄與文件管理6.2文本文件的讀寫6.1目錄與文件管理6.1.1System.Environment類和System.DriveInfo類6.1.2System.IO.Path類6.1.3目錄管理6.1.4文件管理6.1.1System.Environment類和System.DriveInfo類1.System.Environment類
使用Environment類可檢索與操作系統(tǒng)相關(guān)的信息常用的屬性和方法(表6-1)CurrentDirectory屬性O(shè)SVersion屬性NewLine屬性Version屬性GetLogicalDrives方法GetFolderPath方法2.System.DriveInfo類使用DriveInfo可以確定當(dāng)前可用的驅(qū)動(dòng)器以及這些驅(qū)動(dòng)器的類型,還可以通過查詢來確定驅(qū)動(dòng)器的容量和剩余空間。DriveInfo[]allDrives=DriveInfo.GetDrives();foreach(DriveInfodinallDrives){Console.WriteLine("Drive{0}",d.Name);Console.WriteLine("文件類型:{0}",d.DriveType);if(d.IsReady==true){Console.WriteLine("卷標(biāo):{0}",d.VolumeLabel);Console.WriteLine("文件系統(tǒng):{0}",d.DriveFormat);Console.WriteLine("當(dāng)前用戶可用空間:{0}bytes",d.AvailableFreeSpace);Console.WriteLine("總可用空間:{0}bytes",d.TotalFreeSpace);Console.WriteLine("驅(qū)動(dòng)器總?cè)萘?{0}bytes",d.TotalSize);}}6.1.1System.Environment類和System.DriveInfo類【例6-1】演示Environment類和DriveInfo類的基本用法。6.1.1System.Environment類和System.DriveInfo類6.1.2System.IO.Path類Path類用于對包含文件或目錄路徑信息的String實(shí)例執(zhí)行操作常用方法(表6-2):GetDirectoryName方法GetExtension方法GetFileName方法GetFileNameWithoutExtension方法GetFullPath方法6.1.3目錄管理1、Directory類和DirectoryInfo類均可用于對磁盤和目錄進(jìn)行管理,如復(fù)制、移動(dòng)、重命名、創(chuàng)建、刪除目錄等。2、兩個(gè)類的不同點(diǎn)在于DirectoryInfo類提供了更詳細(xì)的功能,而且必須被實(shí)例化后才能使用,而Directory類則只提供了常用的靜態(tài)方法。3、最常用的是Directory類。84、Directory類提供的靜態(tài)方法CreateDirectory:創(chuàng)建指定路徑中的所有目錄
Directory.CreateDirectory(@"c:\test");Delete:刪除指定的目錄
Directory.Delete(@"c:\test",true);Move:將文件或目錄及其內(nèi)容移到新位置Exists:判斷目錄是否存在GetCurrentDirectory:獲取應(yīng)用程序的當(dāng)前工作目錄6.1.3目錄管理106.1.4文件管理System.IO命名空間中文件操作類:(1)File(2)FileInfo
相同點(diǎn):都能完成對文件的復(fù)制、移動(dòng)、重命名、創(chuàng)建、打開、刪除和追加到文件操作。
不同點(diǎn):FileInfo類提供實(shí)例化后的屬性、方法
File只提供靜態(tài)方法用法與Directory和DirectoryInfo相似。116.1.4文件管理(續(xù))1、判斷文件是否存在
if(File.Exists(@“E:\ls\MyTest1.txt")){…}2、復(fù)制文件
File.Copy(path1,path2,true);
true表示如果目標(biāo)文件已存在,就直接覆蓋。126.1.4文件管理(續(xù))3.刪除文件 publicstaticvoidDelete(stringpath)4、移動(dòng)文件
publicstaticvoidMove(stringsourceFileName,stringdestFileName)136.1.4文件管理(續(xù))5、判斷某個(gè)路徑是目錄還是文件if((File.GetAttributes(path)&FileAttributes.Directory)==FileAttributes.Directory){Console.WriteLine("{0}是目錄",path);}else{Console.WriteLine("{0}是文件",path);}146.2文本文件的讀寫在System.IO命名空間中,提供了多種類用于進(jìn)行數(shù)據(jù)文件和數(shù)據(jù)流的讀寫操作。主要有:
1.文件編碼,提供了多種編碼。
2.文本文件的讀寫。
3.二進(jìn)制文件的讀寫。156.2.1數(shù)據(jù)流與文件編碼在System.IO命名空間中,提供了多種類用于進(jìn)行數(shù)據(jù)文件和數(shù)據(jù)流的讀寫操作。主要有:
1.文件編碼,提供了多種編碼。
2.文本文件的讀寫。
3.二進(jìn)制文件的讀寫。166.2.1數(shù)據(jù)流與文件編碼1.?dāng)?shù)據(jù)流
數(shù)據(jù)流(Stream)是對串行傳輸數(shù)據(jù)的一種抽象表示,當(dāng)希望通過網(wǎng)絡(luò)逐字節(jié)串行傳輸數(shù)據(jù),或者對文件逐字節(jié)進(jìn)行讀寫操作時(shí),需要將數(shù)據(jù)轉(zhuǎn)化為數(shù)據(jù)流。(1)數(shù)據(jù)流相關(guān)的類 System.IO命名空間下的Stream類是所有數(shù)據(jù)流的基類。176.2.1數(shù)據(jù)流與文件編碼(2)對數(shù)據(jù)流的基本操作
讀取:從數(shù)據(jù)流中讀取數(shù)據(jù)到變量中。
寫入:把變量中的數(shù)據(jù)寫入到數(shù)據(jù)流中。
定位:重新設(shè)置數(shù)據(jù)流的當(dāng)前位置,以便對其進(jìn)行隨機(jī)讀寫。186.2.1數(shù)據(jù)流與文件編碼
常見的文件編碼方式:ASCII、Unicode、UTF8、ANSI、GB2312、GB18030。System.TextEncoding類:表示字符編碼。常用有:Encoding.Default 表示操作系統(tǒng)的當(dāng)前ANSI編碼Encoding.Unicode Unicode編碼Encoding.UTF8 UTF8編碼注意:打開文件時(shí)指定的編碼格式一定要和保存文件時(shí)所用的編碼格式一致,否則看到的可能就是一堆亂碼。196.2.2利用File類讀寫文本文件1.OpenFileDialog與SaveFileDialog對話框 Microsoft.Win32.OpenFileDialog對話框用于讓用戶選擇要打開文件的文件名,用戶可以使用此對話框來指定一個(gè)或多個(gè)要打開的文件的文件名。 Microsoft.Win32.SaveFileDialog對話框用于提示用戶選擇文件的保存位置。2.System.IO.File類 System.IO命名空間下的File類提供了非常方便的讀寫文本文件的方法,很多情況下只需要一條語句即可完成本地文件的讀寫操作。206.2.2利用File類讀寫文本文件(1)新建文件(WriteAllText方法、WriteAllLines方法)System.IO.File.ReadAllText方法方法創(chuàng)建一個(gè)新文件,在其中寫入指定的字符串,然后關(guān)閉文件。如果目標(biāo)文件已存在,則覆蓋該文件。System.IO.File.WriteAllLines方法創(chuàng)建一個(gè)新文件,在其中寫入指定的字符串?dāng)?shù)組,然后關(guān)閉文件。如果目標(biāo)文件已存在,則覆蓋該文件。216.2.2利用File類讀寫文本文件(2)打開文件(ReadAllText方法、ReadAllLines方法)
利用File類提供的靜態(tài)ReadAllText方法可打開一個(gè)文件,讀取文件的每一行,將每一行添加為字符串的一個(gè)元素,然后關(guān)閉文件。(3)追加文件(AppendAllText方法)
利用File類提供的靜態(tài)AppendAllText方法用于將指定的字符串追加到文件中,如果文件不存在則自動(dòng)創(chuàng)建該文件。226.2.2利用File類讀寫文本文件【例6-2】演示利用File類讀寫文本文件的基本用法,以及OpenFileDialog和SaveFileDialog對話框的基本用法,運(yùn)行效果如圖6-1所示。6.2.3利用文件流讀寫文本文件1.創(chuàng)建FileStream對象利用構(gòu)造函數(shù)創(chuàng)建FileStream對象FileStream(stringpath,FileModemode,FileAccessaccess)利用File類創(chuàng)建FileStream對象FileStreamfs=File.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自制水囊在剖宮產(chǎn)宮縮乏力出血中的臨床應(yīng)用
- 應(yīng)急響應(yīng)的統(tǒng)一指揮
- 二零二五年度道路設(shè)施更新改造合同3篇
- 二零二五年度個(gè)人鄉(xiāng)村旅游消費(fèi)貸款合同示范文本2篇
- 二零二五年度屋頂防水隔熱節(jié)能改造合同4篇
- 2025年度新能源儲(chǔ)能系統(tǒng)采購與安裝合同范本3篇
- 2025版高層建筑消防系統(tǒng)改造合同協(xié)議書3篇
- 二零二五年度個(gè)人股權(quán)代持與公司解散合同3篇
- 不良反應(yīng)上報(bào)流程
- 二零二五年度大學(xué)生創(chuàng)業(yè)項(xiàng)目融資借款合同
- 2025屆安徽省皖南八校聯(lián)盟高二物理第一學(xué)期期末統(tǒng)考試題含解析
- 第六章-主成分分析法
- 2024簡單的租房合同樣本下載
- 中考數(shù)學(xué)計(jì)算題練習(xí)100道(2024年中考真題)
- 新人教版五年級(jí)上冊數(shù)學(xué)應(yīng)用題大全及答案
- 【家庭教育】0-3歲嬰幼兒早教訓(xùn)練方案
- 國家中長期科技發(fā)展規(guī)劃(2021-2035)
- 經(jīng)營范圍登記規(guī)范表述目錄(試行)(V1.0.2版)
- 2023年山東省威海市中考物理真題(附答案詳解)
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 王崧舟:學(xué)習(xí)任務(wù)群與課堂教學(xué)變革 2022版新課程標(biāo)準(zhǔn)解讀解析資料 57
評(píng)論
0/150
提交評(píng)論