亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

淺析C#中的文件操作

2023-05-15 12:29:33
字體:
供稿:網(wǎng)友

微軟的.Net框架為我們提供了基于流的I/O操作方式,這樣就大大簡化了開發(fā)者的工作。因為我們可以對一系列的通用對象進行操作,而不必關(guān)心該I/O操作是和本機的文件有關(guān)還是和網(wǎng)絡(luò)中的數(shù)據(jù)有關(guān)。.Net框架主要為我們提供了一個System.IO命名空間,該命名空間基本包含了所有和I/O操作相關(guān)的類。

本文將向大家介紹一些基本的文件操作方法,包括對文件系統(tǒng)中的目錄和文件的操作,還有就是文件的讀寫操作等。通過運用System.IO.DirectoryInfo類和System.IO.FileInfo類我們可以輕易的完成與目錄和文件相關(guān)的操作,而通過運用System.IO.StreamReader類和System.IO.StreamWriter類我們可以方便的完成與文件的讀寫相關(guān)的操作。 

命名空間概覽

下面的表格顯示了System.IO命名空間中最重要的一些類,通過運用這些類我們就能完成基本的文件操作。 

表1 
類名 功能和用途
BinaryReader、BinaryWriter 讀寫二進制數(shù)據(jù)
Directory、File、DirectoryInfo以及FileInfo 創(chuàng)建、刪除并移動目錄和文件,通過屬性獲取特定目錄和文件的相關(guān)信息
FileStream 以隨機方式訪問文件
MemoryStream 訪問存儲在內(nèi)存中的數(shù)據(jù)
StreamReader 、StreamWriter 讀寫文本數(shù)據(jù)信息
StringReader、StringWriter 運用字符串緩沖讀寫文本數(shù)據(jù)信息

 運用DirectoryInfo類和FileInfo類

DirectoryInfo類和FileInfo類的基類都是FileSystemInfo類,這個類是一個抽象類,也就是說你不可以實例化該類,只能通過繼承產(chǎn)生其子類并實例化其子類。然而你卻可以運用由該類定義的各種屬性,下面的表格顯示了該類已經(jīng)定義了的各種屬性。 

表2 
屬性 功能和用途
Attributes 返回和文件相關(guān)的屬性值,運用了FileAttributes枚舉類型值
CreationTime 返回文件的創(chuàng)建時間
Exists 檢查文件是否存在于給定的目錄中
Extension 返回文件的擴展名
LastAccessTime 返回文件的上次訪問時間
FullName 返回文件的絕對路徑
LastWriteTime 返回文件的上次寫操作時間
Name 返回給定文件的文件名
Delete() 刪除一個文件的方法,請務(wù)必謹慎地運用該方法

DirectoryInfo類提供了創(chuàng)建、刪除和移動目錄等方法,要運用表2中的各種屬性,我們首先得創(chuàng)建一個DirectoryInfo類的對象,然后就可以訪問其各種屬性了。

 

DirectoryInfo dir1 = new DirectoryInfo(@"F:/Test");Console.WriteLine("Full Name is : {0}", dir1.FullName);Console.WriteLine("Attributes are : {0}", dir1.Attributes.ToString());

同時,我們還可以運用FileAttributes枚舉類型值來獲取和文件相關(guān)的各種屬性,下面的表格就顯示了該枚舉類型中的各種值。 

表3 
功能和用途
Archive 返回文件的存檔狀態(tài)
Compressed 返回文件是否被壓縮
Directory 返回文件是否是一個目錄
Encrypted 返回文件是否被加密
Hidden 返回文件是否是隱藏的
Offline 表明文件數(shù)據(jù)是不可得的
ReadOnly 表明文件是只讀的
System 表明文件是一個系統(tǒng)文件

 目錄下的文件操作

運用DirectoryInfo類的對象我們可以輕松的實現(xiàn)對目錄以及和目錄中的文件相關(guān)的操作,假如你要獲得某個目錄F:/Pictures下的所有BMP文件,那么通過下面的代碼就可以實現(xiàn)該功能。

 

DirectoryInfo dir = new DirectoryInfo(@"F:/ Pictures");FileInfo[] bmpfiles = dir.GetFiles("*.bmp);Console.WriteLine("Total number of bmp files", bmpfiles.Length);Foreach( FileInfo f in bmpfiles){  Console.WriteLine("Name is : {0}", f.Name);  Console.WriteLine("Length of the file is : {0}", f.Length);  Console.WriteLine("Creation time is : {0}", f.CreationTime);  Console.WriteLine("Attributes of the file are : {0}",                    f.Attributes.ToString());}

上面的代碼中我們首先創(chuàng)建了一個DirectoryInfo對象,然后通過調(diào)用該對象的GetFiles方法獲取目錄F:/Pictures下的所有以bmp為擴展名的文件,該方法返回的值是一個FileInfo類型的數(shù)組,每個元素則代表一個文件。最后,程序還列舉了每個BMP文件的相關(guān)屬性。 

創(chuàng)建子目錄

運用DirectoryInfo類創(chuàng)建子目錄是非常容易的,你只要調(diào)用其中CreateSubdirectory()方法即可,演示代碼如下。

 

DirectoryInfo dir = new DirectoryInfo(@"F:/ Pictures");try{  dir.CreateSubdirectory("Sub");  dir.CreateSubdirectory(@"Sub/MySub");}catch(IOException e) {  Console.WriteLine(e.Message);}

運用FileInfo類創(chuàng)建、刪除文件

通過FileInfo類,我們可以方便地創(chuàng)建出文件,并可以訪問文件的屬性同時還可以對文件進行打開文件、關(guān)閉文件、讀寫文件等基本的操作。下面的代碼顯示了如何創(chuàng)建一個文本文件并且去訪問其創(chuàng)建時間、文件的絕對路徑以及文件屬性等文件信息,最后程序還給出了刪除文件的方法。

 

FileInfo fi = new FileInfo(@"F:/Myprogram.txt");FileStream fs = fi.Create();Console.WriteLine("Creation Time: {0}",fi.CreationTime);Console.WriteLine("Full Name: {0}",fi.FullName);Console.WriteLine("FileAttributes: {0}",fi.Attributes.ToString());Console.WriteLine("Press any key to delete the file");Console.Read();fstr.Close();fi.Delete();

理解FileInfo類的Open()方法

我們在對文件進行讀寫操作之前必須打開文件,F(xiàn)ileInfo類為我們提供了一個Open()方法,該方法包含了兩個枚舉類型值的參數(shù),一個為FileMode枚舉類型值,另一個為FileAccess枚舉類型值。通過設(shè)定這兩個參數(shù)值,我們可以對文件的訪問模式和操作權(quán)限進行控制。下面的兩個表格分別顯示了FileMode枚舉類型的值和FileAccess枚舉類型的值。

表4 
功能和用途
Append 打開文件并添加數(shù)據(jù),運用該方法時FileAccess枚舉類型值應(yīng)為Write。
Create 創(chuàng)建一個新文件,有可能會覆蓋已經(jīng)存在的文件。
CreateNew 創(chuàng)建一個新文件,如果該文件已經(jīng)存在,則拋出IOException異常。
Open 打開一個已經(jīng)存在的文件。
OpenOrCreate 打開文件,如果該文件不存在,則創(chuàng)建之。
Truncate 截短一個已經(jīng)存在的文件。

表5 

功能和用途
Read 可以從一個文件中讀取數(shù)據(jù)。
ReadWrite 可以從一個文件中讀取數(shù)據(jù),同時還可以向文件中寫入數(shù)據(jù)。
Write 可以向文件中寫入數(shù)據(jù)。

下面的代碼顯示了Open()方法的具體運用方法。

 

FileInfo f = new FileInfo("F:/MyFile.txt");FileStream s = f.Open(FileMode.OpenorWrite, FileAccess.Read);

運用StreamReader類和StreamWriter類實現(xiàn)文件的讀寫操作

對文件的讀寫操作應(yīng)該是最重要的文件操作,System.IO命名空間為我們提供了諸多文件讀寫操作類,在這里我要向大家介紹最常用也是最基本的StreamReader類和StreamWriter類。從這兩個類的名稱我們不難發(fā)現(xiàn)它們都是基于流的讀寫操作類。

我們可以通過File類的OpenText()方法來獲取一個StreamReader對象,通過該對象我們可以實現(xiàn)對文本文件的讀操作,方法如下:

 

Console.WriteLine("Reading the contents from the file");StreamReader s = File.OpenText("MyText.txt");string read = null;while ((read = s.ReadLine()) != null){  Console.WriteLine(read);}s.Close();

而通過調(diào)用FileInfo類的CreateText()方法我們可以獲取一個StreamWriter對象,調(diào)用StreamWriter類的WriteLine()我們就可以向文本文件中寫入數(shù)據(jù)了,方法如下:

 

FileInfo f = new FileInfo("MyText.txt")StreamWriter w = f.CreateText();w.WriteLine("This is from");w.WriteLine("Chapter 1");w.WriteLine("Of C# Module");w.Write(w.NewLine);w.WriteLine("Thanks for your time");w.Close();

總結(jié)

以上我簡要地向大家介紹了C#文件操作的基本知識和方法,通過本文大家不難發(fā)現(xiàn).Net框架下I/O操作的方便性。讀者在學(xué)習(xí)了本文后,如果要進行一些基本的文件操作,那么對于System.IO命名空間中的諸如DirectoryInfo類、FileInfo類、FileStream類、StreamReader類以及StreamWriter類等類一定得有基本了解并在實際應(yīng)用中靈活使用之。如果要對文件操作有更進一步的控制,那么不妨去研究一下System.IO命名空間中的更為具體和細節(jié)的一些類。最后,希望本文對大家能有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
综合久久久久久| 国产精品人人| 91成人噜噜噜在线播放| 一级特黄特色的免费大片| 男女猛烈无遮挡午夜视频| 国产在线播放精品| 国产aⅴ爽av久久久久| 国产又粗又猛又爽又黄91精品| 理论片在线不卡免费观看| 三级视频网站在线| 99re在线视频这里只有精品| 日韩熟女一区二区| 欧日韩免费视频| 911精品国产| 中文字幕亚洲二区| 免费在线看大片无需流量| 精品一区二区三区久久| 国产又大又黑又粗| 91九色国产在线播放| 日韩人妻一区二区三区蜜桃视频| 欧美日韩精品免费观看视频| 国产亚洲福利社区一区| 日本高清不卡aⅴ免费网站| 50一60岁老妇女毛片| 国产精品久久一区| 你懂得影院夜精品a| 末成年女av片一区二区下载| 福利一区福利二区微拍刺激| 精品国产白色丝袜高跟鞋| 亚洲精品国产精品久久| 久久五月天婷婷| 国产精品五区| 国产专区精品视频| 国产精品福利小视频| 人交獸av完整版在线观看| 国产欧美在线观看一区| 99精品一区二区三区的区别| 欧美成人欧美edvon| 国产精品久久99| 免费羞羞视频| 羞羞影院体验区| 亚洲xxxx在线| sm国产在线调教视频| 亚洲欧美三级在线| 国产一级精品在线| 亚洲欧洲国产视频| 97视频在线免费观看| 黄色片视频在线免费观看| 国产精品久久久久秋霞鲁丝| 国产精品自在自线| 在线观看黄色网| 亚洲综合999| 欧美精品一区二区三区一线天视频| 91精品国产自产拍在线观看蜜| 亚洲高清精品中出| 韩日精品视频| 日韩精品久久一区| 免费观看一级特黄欧美大片| 日本午夜人人精品| 在线观看国产精品淫| 国产麻豆9l精品三级站| 91九蝌蚪视频| 黄色在线免费播放| 福利视频在线导航| 国产卡1卡2卡三卡在线| 国产亚洲一区二区三区| caoporn视频在线观看| 日韩精品免费在线视频观看| 成人黄网18免费观看的网站| 国产伦精品一区二区三区免费优势| 伊人伊成久久人综合网小说| 国产一级特黄毛片| 国内亚洲精品| 国产三级生活片| 欧美在线观看一二区| 亚洲影院免费| 浮力影院网站午夜| 超碰资源在线| 亚洲电影免费观看高清完整版在线观看| www日本高清| 91av在线视频观看| 精品视频在线观看一区| 成人免费看黄网站| 欧美成人午夜激情| 亚洲精品综合精品自拍| 精品综合在线| 久久躁日日躁aaaaxxxx| 亚洲欧洲一区二区三区在线观看| 校园春色 亚洲色图| 91欧美极品| 丁香花电影在线观看完整版| 日韩精品卡一| av在线播放网址| 国产精品色在线网站| 一区二区高清在线| www.中文字幕在线观看| 国产91丝袜在线观看| 色一区在线观看| 性欧美性free| 免费看黄视频网站| 污污视频在线免费观看| 精品伊人久久久| 国产女主播视频一区二区| 国产在线精品一区二区夜色| 亚洲男子天堂网| 国产专区一区| 91网址在线播放| www.1024| 色婷婷色综合| a亚洲天堂av| 久久国产一二区| 四虎精品在永久在线观看| 亚洲精品久久久久久国| 麻豆久久久久久久久久| 精品国产乱码久久久久久虫虫漫画| 国产精品热久久久久夜色精品三区| 成人激情综合网| 黄色国产精品一区二区三区| 精品一区二三区| 久久久久亚洲av片无码下载蜜桃| 色欧美乱欧美15图片| 99天天综合性| 欧美人与禽zozzo禽性配| 国产喂奶挤奶一区二区三区| 国产18精品乱码免费看| 天天操天天干天天玩| 久久久久久久久网| 亚洲精品国产suv一区| 亚洲欧美偷拍视频| 久久久久人妻精品一区三寸| 亚洲一区二区三区高清不卡| 国产一区二区成人久久免费影院| 欧美区视频在线观看| 日韩欧美色电影| 精品国产免费观看| porn视频在线观看| 51成人精品网站| 国产福利一区二区精品秒拍| 欧美熟乱第一页| 123成人网| 青青在线免费视频| 亚洲国产色一区| 99在线观看视频网站| 欧美尤物美女在线| 在线观看av网| 麻豆中文字幕在线观看| 69影院欧美专区视频| 9191久久久久久久久久久| 伊人色**天天综合婷婷| 欧美色图激情小说| 国产精品熟妇一区二区三区四区| 中文在线观看视频| 日本搞黄视频| 黄色a级在线观看| 国产精品成人免费电影| 欧美日韩中文字幕在线观看| 99久久99精品久久久久久| 国产精品18在线| 日韩免费视频一区二区| 久久一区二区三区喷水| 秋霞欧美一区二区三区视频免费| 欧美国产亚洲精品| 劲爆欧美第一页| 久热中文字幕在线精品免费| 91福利在线导航| 国产成人无码av在线播放dvd| 欧美精品一区二区三| 伊人成人在线视频| 色综合色综合久久综合频道88| 精品一区二区三区在线观看| 精品国产欧美成人夜夜嗨| 免费在线看黄网站| 中文字幕乱伦视频| 亚洲综合网在线| 国产综合一区二区| 国产ts在线播放| 欧美日韩一区综合| 国产又粗又大又爽| 日韩一级黄色大片| 精品乱子伦一区二区三区| 91精品国产乱| 亚洲91在线| 亚洲精品白浆高清| 日本免费精品视频| 999精品视频一区二区三区| 国产精品50p| 亚洲欧美综合网| 国产在线一卡二卡| 黄色成人av| 欧美在线观看视频一区二区| 五十路亲子中出在线观看| 欧美人善zozσ性伦交| 欧美日韩一区二区在线观看| 欧美亚洲大片| 青青草精品视频| 国产精品久久久久久久久婷婷| 国产欧美久久久精品免费| 大奶一区二区三区| 欧美一区三区二区在线观看| 久草网在线观看| 邪恶网站在线观看| 欧美男体视频| 久久久蜜桃精品| 99精品在线视频观看| 日本不卡一二三区黄网| 日韩在线国产精品| 欧美色视频在线观看| 久久久久香蕉视频| 久久综合网络一区二区| www.久久ai| 国产日韩视频一区| 性伦欧美刺激片在线观看| 亚洲综合日韩中文字幕v在线| 91在线精品秘密一区二区| 国产欧美一区二区在线观看| 韩国理伦片久久电影网| 粉嫩91精品久久久久久久99蜜桃| 日韩在线 中文字幕| 国产无套在线观看| 色婷婷视频在线观看| 无码国产69精品久久久久同性| 中文字幕国产精品久久| 日本伊人午夜精品| 久久天天东北熟女毛茸茸| 亚洲国产老妈| 爆操欧美美女| 国产熟女一区二区| 久久久精品免费网站| 久久中文字幕免费| aa片在线观看视频在线播放| 绯色av一区二区| 不卡视频一区| 老司机午夜在线| 国产精品日韩精品欧美精品| 日本成人激情视频| 久久99热精品| 中文字幕在线观看二区| 午夜在线播放| 136国产福利精品导航| 午夜精品蜜臀一区二区三区免费| 亚州精品永久观看视频| 日韩精品中文字幕在线| 欧美重口另类videos人妖| 国产亚洲一区二区三区| 国产三级三级三级看三级| 搞黄网站在线观看| 国产一区二区在线观看免费| 中文人妻av久久人妻18| 中文字幕亚洲精品在线| 麻豆网站在线看| 久久久久成人精品无码中文字幕| 日韩av中文字幕在线| 国产色综合一区| 在线视频播放大全| 国产精品一区二区三区99| 国产精品电影院| av无码精品一区二区三区宅噜噜| 噜噜噜久久亚洲精品国产品小说| 色在人av网站天堂精品| 欧美日韩精品免费观看视欧美高清免费大片| 影视先锋久久| 国产在视频线精品视频www666| 在线观看免费黄网站| gogo久久| 在线精品亚洲欧美日韩国产| 国产成人精品无码免费看夜聊软件| 色综合天天综合色综合av| 九九热这里有精品| 国产熟人av一二三区| 日本一区二区三区四区在线观看| 天堂综合在线播放| 性一交一乱一色一免费无遮挡| 国产精品一区二区三区四区五区| 狠狠色2019综合网| 国产精品亚洲αv天堂无码| 亚洲区 欧美区| 久久7799| 日韩少妇内射免费播放| 日本精品国语自产拍在线观看| 国产探花精品一区二区| 国产精品扒开腿做爽爽| av人人综合网| 男人天堂手机在线视频| 成人看片在线| 国产一区二区三区视频免费| 99久久精品国产网站| 在线电影看在线一区二区三区| 国产免费黄视频| 日本三级福利片| 致1999电视剧免费观看策驰影院| 亚洲在线一区二区三区| 欧美与动交zoz0z| 日韩视频在线免费| 日本高清成人免费播放| 免费一级毛片在线观看| 日韩毛片中文字幕| 免费久久99精品国产自在现线| 果冻天美麻豆一区二区国产| 国产丝袜在线播放| 午夜激情福利视频| 在线观看欧美精品| 高清不卡一区二区| 久久精品视频免费观看| www.亚洲一区二区| 久久夜色撩人精品| 大桥未久av一区二区三区中文| 一区二区在线视频观看| 日韩在线理论| 伊人天天综合| 91丨九色丨黑人外教| 亚洲国产天堂网精品网站| 你懂的免费网站| 天堂av中文在线观看| 成人亚洲精品7777| 欧美视频在线播放| 成人国产精品久久久网站| 亚洲大型综合色站| 极品尤物一区| 纪美影视在线观看电视版使用方法| 日韩三级电影视频| 欧美三级乱人伦电影| 日韩欧美中文字幕一区二区三区| 日本动漫理论片在线观看网站| 国产精品1区2区| 国产精品一区二区三区在线| 久久艹国产精品| 国产精品无码久久久久久| 欧美性猛交xxxxbbbb|