版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Comment[彪彪1]:當所要讀寫的文件不是文本文件的時候必須采取這種類來執(zhí)行相應的操作。Comment[彪彪2]:在使用文件操作的類FileStream時,或者其他文件讀寫的類時,要先在命名空間中聲名。Comment[彪彪3]:先聲名一個字節(jié)數(shù)組和一個字符數(shù)組,在后面可以轉換。Comment[彪彪4]:將FileStream類實例化。Afile是其對象。FileStream對象化時有兩個參數(shù)。Comment[彪彪5]:文件路徑。Co
2、mment[彪彪6]:指定操作系統(tǒng)打開文件的方式。Comment[彪彪7]:從文件的具體位置開始讀取,Seek后有兩個參數(shù),一個是位置,另一個是開始搜尋位置參考點,一般Seekigin.Begin表示從表頭開始。Comment[彪彪8]:將Seek設置位置后的多少位讀入到bydate中,并從第一個位置【0】開始存儲。Comment[彪彪9]:文件操作一次完畢后一定要關閉。Comment[彪彪10]:d是Decoder類的對象,用于轉換。
3、Comment[彪彪11]:提取字節(jié)數(shù)組,轉化為字符數(shù)組。C#數(shù)據(jù)的讀寫操作讀取數(shù)據(jù)使用FileStream類讀取數(shù)據(jù)不像使用StreamReader類讀取數(shù)據(jù)那樣容易。原因:FileStream類只能處理原始字節(jié),從而可以讀取任何數(shù)據(jù)文件,而不僅僅是文本文件。通過讀取字節(jié)數(shù)據(jù),該類可以用于讀取圖像和聲音的文件。靈活性的代價:不能使用FileStream類將數(shù)據(jù)將數(shù)據(jù)直接讀入字符串,而StreamReader類卻可以這樣處理。有幾種轉換
4、類可以很容易的實現(xiàn)從字節(jié)數(shù)組和字符數(shù)組間的轉換。例如SystemText名稱空間的Decoder類。下面具體以一個實例介紹usingSystemusingSystem.Collections.GenericusingSystem.LinqusingSystem.TextusingSystem.IOnamespaceConsoleApplication1classProgramstaticvoidMain(string[]args)byt
5、e[]bydate=newbyte[20000][]date=new[20000]tryFileStreamafile=newFileStream(“C:tempuploadsTellMeWhyDeclanGalbraith.mp3“FileMode.Open)afile.Seek(113Seekigin.Begin)afile.Read(bydate020000)catch(IOExceptione)Console.WriteLine
6、(“AnIOexeptionhasbeenthrown!“)Console.WriteLine(e.ToString())Console.ReadKey()returnDecoderd=Encoding.UTF8.GetDecoder()d.Gets(bydate0bydate.Lengthdate0)Console.WriteLine(date)Console.ReadKey()Comment[彪彪17]:一定要注意這兩種方法。Com
7、ment[彪彪18]:規(guī)定是追加文件,還是創(chuàng)建新文件。Comment[彪彪19]:取當前時間和日期。Comment[彪彪20]:將日期和時間轉換成易讀取的字符格式。Comment[彪彪21]:結合這個例子可以看見兩者的區(qū)別:WriteLine()執(zhí)行完后會回車換行。Comment[彪彪22]:該聲明也是必須的。StreamWriter對象StreamWriter類允許將字符和字符串寫入到文件中,它處理底層的轉換,向FileStream對
8、象寫入數(shù)據(jù)。如果已經(jīng)有了FileStream對象,則可以使用此對象來創(chuàng)建StreamWriter對象:FileStreamafile=newFileStream(“C:tempuploadsnewfile.txt“FileMode.CreateNew)StreamWritersw=newStreamWriter(afile)也可以直接從文件中創(chuàng)建StreamWriter對象:StreamWritersw=newStreamWriter(
9、“C:tempuploadsnewfile.txt“true)該構造函數(shù)的參數(shù)是文件名和一個Boolean值。該值有true和false兩個:True:打開文件保留原來的數(shù)據(jù),如果找不到文件,則創(chuàng)建一個新文件;False:創(chuàng)建一個新文件,或者截取現(xiàn)有文件并打開它。StreamWriter有兩個重要的方法:Write()和WriteLine(),這兩種方法的區(qū)別是前者直接追加,后者是追加完成后有換行符,例如:sw.WriteLine(“h
10、ellotoyou”)sw.Write(“itisnow0thingsarelookinggood”DateTime.Now.ToLongDateString())sw.Write(“田宗彪”)sw.Close()該代碼的執(zhí)行結果就是在制定的文件中顯示如下內容:HellotoyouitisnowFridayoct082010thingsarelookinggood田宗彪StreamReader對象StreamReader對象的創(chuàng)建方式非
11、常類似于StreamWriter,也有兩種方式:如果已經(jīng)有了FileStream對象,則可以使用此對象來創(chuàng)建StreamWriter對象:FileStreamafile=newFileStream(“C:tempuploadsnewfile.txt“FileMode.CreateNew)StreamReadersr=newStreamReader(afile)也可以直接從文件中創(chuàng)建StreamWriter對象:StreamReaders
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論