C#中File和FileStream的簡單介紹和用法
前言
在近期的工作過程中發(fā)現(xiàn)自己的基礎(chǔ)比較薄弱,所以最近在惡補基礎(chǔ)知識。下面就對我所學(xué)習(xí)的File類和FileStream進行簡單的總結(jié)。
1.首先先介紹File類和FileStream文件流
1.1 File類,是一個靜態(tài)類,支持對文件的基本操作,包括創(chuàng)建,拷貝,移動,刪除和打開一個文件。File類方法的參量很多時候都是路徑path。主要提供有關(guān)文件的各種操作,在使用時需要引用System.IO命名空間。
1.2 FileStream文件流 只能處理原始字節(jié)(raw byte)。FileStream 類可以用于任何數(shù)據(jù)文件,而不僅僅是文本文件。FileStream 對象可以用于讀取諸如圖像和聲音的文件,F(xiàn)ileStream讀取出來的是字節(jié)數(shù)組,然后通過編碼轉(zhuǎn)換將字節(jié)數(shù)組轉(zhuǎn)換成字符串。
1.3 區(qū)別:file:是一個文件的類,對文件進行操作的;filestream:文件流.對txt,xml等文件寫入內(nèi)容的時候需要使用的一個工具.打個形象的比喻.file是筆記本,需要filestream的這個筆才能寫.
2.代碼部分
2.1 File類創(chuàng)建Txt
string path = @"C:\Users\Administrator\Desktop\1.txt"; File.Open(path, FileMode.OpenOrCreate);
2.2 File類Txt拼接內(nèi)容
List<string> users = new List<string>(); users.Add("張三|1000"); users.Add("李四|10000"); users.Add("王五|5000"); users.Add("趙六|6000"); File.AppendAllLines(path, users, Encoding.Default);
2.3 File類字節(jié)形式讀取txt文檔
byte[] buttf = File.ReadAllBytes(path); string str = Encoding.Default.GetString(buttf, 0, buttf.Length);
2.4 File類實現(xiàn)txt員工工資加倍
string[] filestr = File.ReadAllLines(path, Encoding.Default); for (int i = 0; i < filestr.Length; i++) { string[] str = filestr[i].Split('|'); filestr[i] = str[0] + "|" + (Convert.ToDouble(str[1]) * 2).ToString(); } File.AppendAllLines(path, filestr, Encoding.Default);
2.5 File類常用方法
3.文件流
3.1文件流文字形式讀取
byte[] bytsize = new byte[1024 * 1024 * 5]; using (FileStream stream = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite)) { while (true) { int r = stream.Read(bytsize, 0, bytsize.Length); //如果讀取到的字節(jié)數(shù)為0,說明已到達文件結(jié)尾,則退出while循 if (r == 0) { break; } string str = Encoding.Default.GetString(bytsize, 0, r); Console.WriteLine(str); } }
3.2文件流文字形式寫入
string str = "今天天氣好晴朗,處處好風(fēng)光"; byte[] buttf = Encoding.Default.GetBytes(str); //文件流的寫入 using (FileStream fscreat = new FileStream(path, FileMode.Append, FileAccess.Write)) { fscreat.Write(buttf, 0, buttf.Length); }
3.3文件流視頻形式復(fù)制
byte[] bytsize = new byte[1024 * 1024 * 5]; string videoPath = @"C:\Users\Administrator\Desktop\1、練習(xí)1-3.avi"; string videoNewPath = @"C:\Users\Administrator\Desktop\1.avi"; //創(chuàng)建讀取流 using (FileStream fsread=new FileStream(videoPath,FileMode.Open,FileAccess.Read)) { //創(chuàng)建寫入流 using (FileStream fswrite=new FileStream(videoNewPath,FileMode.OpenOrCreate,FileAccess.Write)) { while (true) { //返回實際讀取到的字節(jié) int r = fsread.Read(bytsize, 0, bytsize.Length); //當字節(jié)位0的時候 證明已經(jīng)讀取結(jié)束 if(r==0){ break; } fswrite.Write(bytsize,0,r); } } }
因為剛開始學(xué)習(xí)所以有些不足,希望各位大佬可以指正。
總結(jié)
到此這篇關(guān)于C#中File和FileStream的簡單介紹和用法的文章就介紹到這了,更多相關(guān)C#中File和FileStream用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn)
這篇文章主要介紹了在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11DataReader、DataSet、DataAdapter和DataView使用介紹
ADO.NET提供兩個對象用于檢索關(guān)系型數(shù)據(jù)并把它存儲在內(nèi)存中,分別是DataSet和DataReader,本文將詳細介紹這幾個對象的應(yīng)用,有需求的朋友可以了解下2012-11-11NumberToUpper數(shù)字轉(zhuǎn)中文詳解
本文介紹NumberToUpper數(shù)字轉(zhuǎn)中文的方法,大家參考使用吧2013-12-12winform 調(diào)用攝像頭掃碼識別二維碼的實現(xiàn)步驟
這篇文章主要介紹了winform 調(diào)用攝像頭掃碼識別二維碼的實現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用winform,感興趣的朋友可以了解下2021-02-02