付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第十一章文件操作回顧與作業(yè)點(diǎn)評解析XML文件,在控制臺輸出相應(yīng)信息 雙截棍 周杰倫 Super Star S.H.E 預(yù)習(xí)檢查FileMode是個什么類型的數(shù)據(jù)?使用File類需要實(shí)例化嗎?本章任務(wù)實(shí)現(xiàn)文本讀寫器通過讀寫文件實(shí)現(xiàn)“網(wǎng)絡(luò)電視精靈”保存功能保存用戶定制的電視頻道啟動程序時,加載定制的頻道實(shí)現(xiàn)小型資源管理器系統(tǒng)啟動時,加載定制的電視臺掌握文本文件的讀寫會進(jìn)行文件和文件夾操作本章目標(biāo)為什么需要操作文件如何使得程序中的數(shù)據(jù)持久化?用數(shù)據(jù)庫實(shí)現(xiàn) 成本太大適用于大批量數(shù)據(jù) 使用文件對數(shù)據(jù)進(jìn)行持久化,用程序操作文件 文件的應(yīng)用場合計算機(jī)上有多種文件可以保存數(shù)據(jù)這些文件你都熟悉吧? 擴(kuò)展網(wǎng)絡(luò)電視
2、精靈,保存我的電視臺如何讀寫文本文件創(chuàng)建一個文件流 創(chuàng)建相應(yīng)的讀寫器(reader and writer) 執(zhí)行讀寫操作 關(guān)閉讀寫器(reader and writer) 關(guān)閉文件流 讀寫一個文件的步驟:12345讀寫文本文件應(yīng)用實(shí)現(xiàn)文本文件讀寫器將文本框的內(nèi)容寫入Text.txt文件演示示例:文本讀寫器創(chuàng)建文件流 FileStream myfs = new FileStream( path, FileMode.Create);指定文件路徑 FileMode枚舉Create:創(chuàng)建一個新文件Open:指定打開現(xiàn)有文件CreateNew:新建一個文件Append:打開現(xiàn)有文件追加指定如何打開文件引
3、入System.IO命名空間提供文件操作的類文件流用于(FileStream類)讀寫文件如果文件存在、則改寫舊文件 如果文件存在會發(fā)生異常 創(chuàng)建寫入器和讀取器文本文件寫入器:StreamWriter StreamWriter mySw = new StreamWriter(myfs); mySw.Write(content); mySw.WriteLine(content);傳入文件流寫入方法文本文件讀取器:StreamReader寫入一行數(shù)據(jù)的方法 StreamReader mySr = new StreamReader(myfs); content = mySr.ReadToEnd();
4、content = mySr.ReadLine();傳入文件流讀取到文件末尾讀取一行將數(shù)據(jù)寫入文本文件寫入文本文件 FileStream myfs = new FileStream(path, FileMode.Create); StreamWriter mySw = new StreamWriter(myfs); mySw.Write(content); mySw.Close(); myfs.Close();創(chuàng)建一個文件流 創(chuàng)建寫入器寫入操作 關(guān)閉演示示例:寫入文本文件讀取文本文件this.ofdMain.ShowDialog(); string path = ofdMain.FileNam
5、e; FileStream myfs = new FileStream(path, FileMode.Open); StreamReader mySr = new StreamReader(myfs); content = mySr.ReadToEnd(); txtContent.Text = content; mySr.Close(); myfs.Close();讀取文本文件使用OpenFileDialog控件顯示打開文件的窗口創(chuàng)建一個文件流創(chuàng)建讀取器將流從當(dāng)前位置讀到末尾關(guān)閉演示示例:讀取文本文件選擇文件解決讀取時中文亂碼讀取包含中文的TXT文件時,可能出現(xiàn)中文亂碼FileStream m
6、yfs = new FileStream(path, FileMode.Open);StreamReader mySr = new StreamReader(myfs, Encoding.Default);/讀取器 content = mySr.ReadToEnd();txtContent.Text = content;默認(rèn)使用Unicode字符,設(shè)置Encoding改變默認(rèn)設(shè)置Encoding.UTF8或Encoding.Default演示示例:使用Encoding解決中文亂碼指導(dǎo)定制信息寫入文本文件訓(xùn)練要點(diǎn)文本文件寫入需求說明將定制的頻道信息寫入文本文件save.txt寫入格式實(shí)現(xiàn)思路編寫
7、SaveAsText()方法編寫主窗體的FormClosed的事件完成時間:20分鐘TypeA|北京電視臺|files/北京電視臺.xml類型電視臺名稱節(jié)目單存儲位置練習(xí)讀取定制信息需求說明從文本文件save.txt 讀取定制的頻道信息,并在主窗體運(yùn)行時加載完成時間:25分鐘共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解文件操作的應(yīng)用文件操作包括判斷文件是否存在、拷貝、移動、刪除等等文件的復(fù)制和刪除將源文件拷貝到目標(biāo)位置刪除源文件文件操作File類:提供操作文件的各種方法方法說明Exists(string path)用于檢查指定文件是否存在,該方法返回一個布爾值Copy(s
8、tring sourceFileName,string destFileName)按指定路徑的源文件中的內(nèi)容復(fù)制到目標(biāo)文件中,如果目標(biāo)文件不存在,則在指定路徑中新建一個文件Move (string sourceFileName,string destFileName)將指定文件移動到一個新的路徑Delete(string path)刪除指定的文件,如果指定的文件不存在,則不引發(fā)異常文件操作示例演示示例:文件復(fù)制和刪除/檢查一個文件是否存在if (!File.Exists(this.txtFileName.Text) MessageBox.Show(文件不存在);else /將源文件拷貝到一個新
9、文件 File.Copy(this.txtFileName.Text, this.txtCopyName.Text); MessageBox.Show(拷貝成功!);目錄操作Directory 類提供對文件夾的拷貝、移動、刪除等操作方法說明Exists(string path)用于檢查指定文件夾在磁盤上是否存在Move(string sourceDirName,string destDirName)用于將文件或目錄及其內(nèi)容移到新位置Delete(string path,bool recursive)刪除指定目錄,如果bool指定true,則刪除子目錄中的所有目錄內(nèi)容Delete(string
10、path)從指定路徑刪除空目錄靜態(tài)類與非靜態(tài)類File類與Directory類public static class File public static class Directory 靜態(tài)類靜態(tài)類非靜態(tài)類用static修飾不用static修飾只包含靜態(tài)成員可以包含靜態(tài)成員不可以包含實(shí)例成員可以包含實(shí)例成員使用類名調(diào)用靜態(tài)成員使用實(shí)例對象調(diào)用非靜態(tài)成員不能被實(shí)例化可以被實(shí)例化不能包含實(shí)例構(gòu)造函數(shù)包含實(shí)例構(gòu)造函數(shù)提供實(shí)例方法的文件類FileInfo類DirectoryInfo類FileInfo fi = new FileInfo(D:tempFileInfo.txt);Console.Writ
11、eLine(文件是否存在:+ fi.Exists);Console.WriteLine(文件名:+ fi.Name);Console.WriteLine(文件目錄名:+ fi.Directory.Name);fi.CopyTo(E:tempFileInfo.txt);如需調(diào)用一系列方法,F(xiàn)ileInfo效率更高、更簡單DirectoryInfo di = new DirectoryInfo(D:test);/返回當(dāng)前目錄的子目錄DirectoryInfo subDir = di.GetDirectories();/返回當(dāng)前目錄的文件列表FileInfo fi = di.GetFiles();
12、以實(shí)例方式提供File和Directory類絕大多數(shù)方法文件操作綜合應(yīng)用3-1開發(fā)小型資源管理器,可以瀏覽文件信息顯示選定文件夾下的文件列表顯示D盤下文件夾結(jié)構(gòu)文件操作綜合應(yīng)用3-2綁定當(dāng)前目錄下子目錄DirectoryInfo directoryInfo = new DirectoryInfo(node.Tag.ToString();DirectoryInfo dirs = directoryInfo.GetDirectories();foreach (DirectoryInfo di in dirs) TreeNode temp = new TreeNode(); temp.Text =
13、di.Name; temp.Tag = di.FullName; node.Nodes.Add(temp);D:獲取D:的子目錄遍歷子目錄,獲取目錄信息文件操作綜合應(yīng)用3-3獲取文件夾下文件列表演示示例:小型資源管理器FileInfo fileInfo = directoryInfo.GetFiles(); List files = new List(); /MyFile類定義我的文件類foreach (FileInfo myFile in fileInfo) MyFile file = new MyFile(); file.FileName = myFile.Name; file.FileL
14、ength = myFile.Length; file.FileType = myFile.Extension; file.FilePath = myFile.FullName; files.Add(file);獲取某目錄下所有文件文件名文件長度文件擴(kuò)展部分的字符串完整目錄練習(xí)資源管理器顯示文件信息訓(xùn)練要點(diǎn)使用FileInfo類使用DirectoryInfo類需求說明實(shí)現(xiàn)小型資源管理器,支持顯示文件信息使用TreeView控件顯示文件夾結(jié)構(gòu)使用ListView控件顯示選定文件夾下文件列表完成時間:25分鐘共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解指導(dǎo)實(shí)現(xiàn)文件復(fù)制訓(xùn)練要點(diǎn)
15、使用File類需求說明完善小型資源管理器,實(shí)現(xiàn)文件復(fù)制支持用戶從“瀏覽文件夾”對話框選定目標(biāo)位置方便用戶選擇文件復(fù)制目標(biāo)位置指導(dǎo)實(shí)現(xiàn)文件復(fù)制難點(diǎn)分析打開“瀏覽文件夾”,并獲得選擇的存儲路徑完成時間:20分鐘FolderBrowserDialog fbd = new FolderBrowserDialog();DialogResult result = fbd.ShowDialog();if (result = DialogResult.OK) desPath = fbd.SelectedPath; desPath += + lvFiles.SelectedItems0.SubItems0.Text; /復(fù)制文件 練習(xí)實(shí)現(xiàn)文件刪除需求說明完善小型資源管理器,實(shí)現(xiàn)文件刪除,并刷新L
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員A證考試復(fù)習(xí)試題附答案詳解(考試直接用)
- 安全員A證考試考前沖刺模擬題庫含答案詳解(奪分金卷)
- 安全員A證考試能力提升題庫及參考答案詳解【培優(yōu)a卷】
- 2025年裁判員經(jīng)典例題附完整答案詳解【名師系列】
- 電動清潔車日常管理使用制度
- 2023年事業(yè)單位招考公共基礎(chǔ)知識試題庫及答案詳解參考
- 安全員A證考試綜合提升測試卷含答案詳解【基礎(chǔ)題】
- 中心選調(diào)事業(yè)單位工作人員2人筆試模擬試題及參考答案詳解
- 客戶需求響應(yīng)與解決方案模板
- 學(xué)程開啟·素養(yǎng)奠基-《Hello!》七年級英語起始單元多元智能教學(xué)設(shè)計方案
- 顱內(nèi)壓增高患者的觀察與護(hù)理
- 重難點(diǎn)練02 古詩文對比閱讀(新題型新考法)-2024年中考語文專練(上海專用)(解析版)
- 門崗應(yīng)急預(yù)案管理辦法
- 幼兒階段口才能力培養(yǎng)課程設(shè)計
- 職高一年級《數(shù)學(xué)》(基礎(chǔ)模塊)上冊試題題庫
- JG/T 367-2012建筑工程用切(擴(kuò))底機(jī)械錨栓及后切(擴(kuò))底鉆頭
- 國家職業(yè)標(biāo)準(zhǔn) 6-11-01-03 化工總控工S (2025年版)
- 公共安全視頻監(jiān)控建設(shè)聯(lián)網(wǎng)應(yīng)用(雪亮工程)運(yùn)維服務(wù)方案純方案
- 定額〔2025〕2號文-關(guān)于發(fā)布2020版電網(wǎng)技術(shù)改造及檢修工程概預(yù)算定額2024年下半年價格
- DB31-T 1502-2024 工貿(mào)行業(yè)有限空間作業(yè)安全管理規(guī)范
- 2022版義務(wù)教育(物理)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
評論
0/150
提交評論