版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章文件存取程序設(shè)計
1.概述命名空間:System.IO類字節(jié)流:Stream、BufferedStream、MemoryStream、
UnmanagedMemoryStream、FileStream二進(jìn)制IO流:BinaryReader、BinaryWriter字符IO流:TextReader、TextWriter、StreamReader、StreamWriter、
StringReader、StringWriter文件系統(tǒng)操作:File、Path、Directory、FileSystemInfo、FileInfo、
DirectoryInfo、DriveInfoIO枚舉:FileAccess、FileAttributes、FilenameOptions、FileShare、
FileMode、SearchOption、SeekOrigin、DirveTypeIO異常:IOException、FileLoadException、DriveNotFoundException、
FileNotFoundException、DirectoryNotFoundException、
PathTooLongException、EndOfStreamException2.5.1路徑類與目錄類方法說明CreateDirectory創(chuàng)建新目錄GetDirectories獲取指定目錄及其子目錄名稱GetFiles返回指定目錄中文件的名稱Delete刪除目錄或目錄及其文件Move將文件或目錄及其文件移至新位置1.Directory類Directory類可用于目錄管理,通過它可以實(shí)現(xiàn)對目錄及其子目錄的創(chuàng)建、移動以及瀏覽等操作,甚至可以定義隱藏目錄或只讀目錄。這個類的所有方法都是靜態(tài)的,因此無需創(chuàng)建對象即可調(diào)用。下表列出了Directory類的部分常用方法。3.5.1路徑類與目錄類2.File類File類可以實(shí)現(xiàn)應(yīng)用程序與文本文件的交互,其操作方式類似于Directory類,具有創(chuàng)建、刪除、移動和打開文件的靜態(tài)方法。下表列出了File類的部分常用方法。方法重載方式說明CreateCreate(String)在指定路徑中創(chuàng)建文件CopyCopy(String,String)將現(xiàn)有文件復(fù)制到新文件OpenOpen(String,FileMode)打開指定路徑上的FileStream,可讀寫DeleteDelete(String)刪除指定的文件MoveMove(String,String)將指定文件移至新位置4.5.1路徑類與目錄類3.
Path類Path類對包含文件或目錄路徑信息的String實(shí)例執(zhí)行操作。Path類的成員使我們可以快速方便地執(zhí)行常見操作,例如確定文件的擴(kuò)展名是否是路徑的一部分,以及將兩個字符串組合成一個路徑名等。Path類的所有成員都是靜態(tài)的。Path類的常用方法。方法說明Combine合并兩個路徑字符串GetDirectoryName返回指定路徑字符串的目錄信息GetFileName返回指定路徑字符串的文件名和擴(kuò)展名GetExtension返回指定路徑字符串的擴(kuò)展名GetFullPath返回指定路徑字符串的絕對路徑GetPathRoot獲取指定路徑的根目錄信息5.5.1路徑類與目錄類4.DirectoryInfo類DirectoryInfo類的作用類似于Directory類,可實(shí)現(xiàn)對目錄及其子目錄的創(chuàng)建、移動以及瀏覽等操作。如果只執(zhí)行一個操作,Directory靜態(tài)方法的效率要比DirectoryInfo實(shí)例方法可能更高,如果要多次重用每個對象,可以考慮使用DirectoryInfo實(shí)例方法。常用方法:常見屬性:方法說明Create創(chuàng)建新目錄GetDirectories返回當(dāng)前目錄的子目錄GetFiles返回當(dāng)前目錄的文件列表Delete從路徑中刪除DirectoryInfo及其內(nèi)容MoveTo將DirectoryInfo實(shí)例及其內(nèi)容移至新路徑屬性說明Exists獲取指示目錄是否存在的值Name獲取此DirectoryInfo實(shí)例的名稱Parent獲取指定子目錄的父目錄Root獲取路徑的根部分6.5.1路徑類與目錄類5.FileInfo類FileInfo類的作用類似于File類。如果只執(zhí)行一個操作,F(xiàn)ile靜態(tài)方法的效率要比FileInfo實(shí)例方法可能更高,如果要多次重用每個對象,可以考慮使用FileInfo實(shí)例方法。常用方法:常用屬性:方法說明Create創(chuàng)建文件CopyTo將現(xiàn)有文件復(fù)制到新文件Delete永久刪除文件MoveTo將指定文件移至新位置Open用各種讀/寫訪問權(quán)限和共享權(quán)限打開文件屬性說明Directory獲取父目錄的實(shí)例DirectoryName獲取表示目錄的完整路徑的字符串Exists獲取指示文件是否存在的值Length獲取當(dāng)前文件的大小Name獲取文件名7.5.2文件讀寫與流操作文件與流的概念文件:
是指以一個具體的名稱在各種存儲介質(zhì)上永久保存的數(shù)據(jù)的有序集合。流:
是字節(jié)序列的抽象概念,提供一種向存儲器寫入字節(jié)或從存儲器讀取字節(jié)的方式。除了與磁盤文件直接相關(guān)的文件流以外,還有網(wǎng)絡(luò)流、內(nèi)存流等。.NETFramework提供了一組用于在各種類型的流上執(zhí)行操作的類,Stream是其中的主類,所有其他與流相關(guān)的類都由這個抽象類派生而來。流的最常用操作分別是讀取和寫入:利用FileStream類、BinaryReader/BinaryWriter類以及StreamReader/StreamWriter類能夠以不同的數(shù)據(jù)格式,實(shí)現(xiàn)對文件流的讀寫。而利用System.Net.Sockets.NetworkStream,則可以實(shí)現(xiàn)對網(wǎng)絡(luò)基礎(chǔ)數(shù)據(jù)流的相應(yīng)操作。8.5.2.1文件流操作1.利用FileStream類以字節(jié)格式讀寫文件主要功能:使用FileStream類可以建立文件流對象,通過該對象可以打開或關(guān)閉文件,
并以字節(jié)為單位讀寫文件。常用屬性:CanRead、CanSeek、CanWrite:只讀屬性,檢查流對象是否可以讀、定位或?qū)懭搿傩訪ength:只讀屬性,以字節(jié)為單位表示流對象的長度,即文件的長度。屬性Position:獲取或設(shè)置流對象當(dāng)前的讀寫位置。構(gòu)造函數(shù):PublicFileStream(stringpath,FileModemode,FileAccessaccess)9.5.2.1文件流操作【示例代碼:Demo7-2\FileStreamRW】button1(寫入文件)的鼠標(biāo)單擊事件的相應(yīng)代碼:privatevoidbutton1_Click(objectsender,EventArgse){
SaveFileDialogsf=newSaveFileDialog();
//實(shí)例化一個保存文件對話框
sf.Filter=“txt文件|*.txt|所有文件|*.*”;
//設(shè)置文件保存類型
sf.AddExtension=true;
//如果用戶沒有輸入擴(kuò)展名,自動追加后綴
sf.Title=“寫文件”;
//設(shè)置標(biāo)題
if(radioButton1.Checked)
//如果選擇了使用FileStream類寫入
{
if(sf.ShowDialog()==DialogResult.OK)
//如果單擊了保存按鈕{
FileStreamfs=newFileStream(sf.FileName,FileMode.Create);//實(shí)例化一個文件流,
與寫入文件相關(guān)聯(lián)
byte[]data=newUTF8Encoding().GetBytes(this.textBox1.Text);
//獲得字節(jié)數(shù)組
fs.Write(data,0,data.Length);
//開始寫入
fs.Flush();
//清空緩沖區(qū)fs.Close();//關(guān)閉流}}}10.5.2.1文件流操作2.利用StreamReader類和StreamWriter類以字符串格式讀寫文件StreamReader和StreamWriter類提供了以字符串格式進(jìn)行文件讀寫的方法。StreamReader類構(gòu)造函數(shù):StreamReader(stringpath)參數(shù)path是要讀文件的路徑。常用方法:intRead()從流中讀取一個字符,并使讀字符位置移動到下一個字符。返回代表讀取字符ASCⅡ字符值的int類型整數(shù),-1表示沒有字符可以讀取。stringReadLine()從流中讀取一行字符并將數(shù)據(jù)作為字符串返回。行是兩個換行符("\n"或"\r\n")之間的字符序列。返回的字符串不包含回車或換行符。11.5.2.1文件流操作StreamWriter類構(gòu)造函數(shù):StreamWriter(stringpath,boolappend)常用方法:voidWriter(stringvalue)將字符串寫入流。voidWriter(charvalue)將字符寫入流。//利用StreamWriter類寫入文件if(radioButton2.Checked){//寫入文件
if(sf.ShowDialog()==DialogResult.OK){FileStreamfs=newFileStream(sf.FileName,FileMode.Create);//關(guān)聯(lián)寫入文件實(shí)例化一個文件流StreamWritersw=newStreamWriter(fs);//與fs相關(guān)聯(lián)實(shí)例化一個StreamWritersw.Write(this.textBox1.Text);//開始寫入
sw.Flush();
sw.Close();
fs.Close();
}
}12.5.2.1文件流操作3.利用BinaryReader類和BinaryWriter類以二進(jìn)制格式讀寫文件BinaryReader類和BinaryWriter類提供了以二進(jìn)制格式進(jìn)行文件讀寫的方法。BinaryReader類構(gòu)造函數(shù):BinaryReader(Streaminput)參數(shù)為StreamFile類對象。常用方法:BinaryBoolean、BinaryBytes、BinaryChar返回一個指定類型數(shù)據(jù),沒有參數(shù)。Byte[]BinaryBytes
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海南體育職業(yè)技術(shù)學(xué)院《物聯(lián)網(wǎng)自動識別技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 舞蹈基礎(chǔ)民族舞課程設(shè)計
- 課程設(shè)計展示匯報
- 2025年度物聯(lián)網(wǎng)技術(shù)研發(fā)與商業(yè)化應(yīng)用合同2篇
- 二零二五年度廢棄物減量化處理?xiàng)壨翀鲎赓U合同3篇
- 二零二五年度教育培訓(xùn)分期支付合同6篇
- 消防器材設(shè)施管理制度范文(二篇)
- 2025年度甲乙雙方關(guān)于房地產(chǎn)項(xiàng)目開發(fā)合作合同
- 設(shè)備潤滑管理制度模版(2篇)
- 中西方文化差異的英文例句
- DB43∕T 1591-2019 鋰電池正極材料單位產(chǎn)品能源消耗限額及計算方法
- 征信合規(guī)知識線上測試題庫征信知識競賽題庫(題目+答案)
- 貴州省貴陽市2021-2022學(xué)年蘇教版四年級上冊期末數(shù)學(xué)試卷(含答案)
- 新教材高中歷史選擇性必修一全冊知識點(diǎn)總結(jié)
- 2017英語專業(yè)八級改錯真題及答案持續(xù)更新部分詳解文字答案校對版
- 室內(nèi)蒸汽供熱系統(tǒng)
- 小型塑料注射成型機(jī)液壓系統(tǒng)設(shè)計
- 《干部廉政檔案》2022年最新模板
- 高支模方案(專家論證定稿)
- 城投集團(tuán)年度安全管理工作計劃
- 美術(shù)課教案《線造型》
評論
0/150
提交評論