您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用C#中File靜態(tài)類對文件的讀取寫入”,在日常操作中,相信很多人在怎么用C#中File靜態(tài)類對文件的讀取寫入問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C#中File靜態(tài)類對文件的讀取寫入”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
提供用于創(chuàng)建、復制、刪除、移動和打開單一文件的靜態(tài)方法,并協(xié)助創(chuàng)建 FileStream 對象。
1、返回字符串:
string readText = File.ReadAllText(@"c:\temp\MyTest.txt");
2、返回字符串數(shù)組:
string[] readText = File.ReadAllLines(@"c:\temp\MyTest.txt", Encoding.UTF8);
3、返回字節(jié)數(shù)組:
byte[] buffer = File.ReadAllBytes(@"c:\temp\MyTest.txt"); string str = Encoding.Default.GetString(buffer, 0, buffer.Length);
4、返回StreamReader
打開現(xiàn)有的UTF-8文本以進行讀取
using (StreamReader sr = File.OpenText(@"c:\temp\MyTest.txt")) { string s; while ((s = sr.ReadLine()) != null) { Console.WriteLine(s); } }
創(chuàng)建一個新文件向其中寫入內(nèi)容,文件已存在則覆蓋。
1、寫入字符串:
string createText = "Hello and Welcome" + Environment.NewLine; File.WriteAllText(path, createText);//File.WriteAllText(),F(xiàn)ile.AppendAllText()
2、寫入字符串數(shù)組:
string[] createText = { "Hello", "And", "Welcome" }; File.WriteAllLines(path, createText);
3、寫入字節(jié)數(shù)組:
string str = "哈哈哈哈哈哈"; byte[] buffer = Encoding.Default.GetBytes(str); File.WriteAllBytes(path,buffer);
4、返回StreamWriter
創(chuàng)建或打開現(xiàn)有的UTF-8文本,以進行寫入或追加
using (StreamWriter sw = File.CreateText(path)) //StreamWriter:File.CreateText()、File.AppendText() { sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome"); }
File.Open():默認為不共享、具有讀/寫訪問權限
using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)) { byte[] b = new byte[1024]; UTF8Encoding temp = new UTF8Encoding(true); while (fs.Read(b, 0, b.Length) > 0) { Console.WriteLine(temp.GetString(b)); } }
File.OpenRead():讀訪問權限
略
File.OpenWrite:寫訪問權限
using (FileStream fs = File.OpenWrite(path)) { Byte[] info = new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method."); // Add some information to the file. fs.Write(info, 0, info.Length); }
File.Create():
using (FileStream fs = File.Create(path)) { Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file."); // Add some information to the file. fs.Write(info, 0, info.Length); }
文件刪除方法:File.Delete()
文件復制方法:File.Copy()
文件移動方法:File.Move()
設置文件屬性方法:File.Set/Get***()
判斷文件是否存在的方法:File.Exist()
//刪除此目錄 Directory.Delete(@"C:\新建文件夾") //刪除此目錄,true表示要是此目錄有子目錄也刪除,否則就拋出異常 Directory.Delete(@"C:\新建文件夾", false); //此目錄是否存在 bool b = Directory.Exists(@"C:\新建文件夾"); //根據(jù)路徑返回此目錄下的子目錄 string[] dirs1 = Directory.GetDirectories(@"C:\新建文件夾"); //第二個參數(shù)表示:搜索的范圍,就是搜索的文件夾包含“基礎”關鍵字 string[] dirs2 = Directory.GetDirectories(@"C:\新建文件夾", "基礎"); //搜索目錄下的所有文件 string[] files = Directory.GetFiles(@"C:\新建文件夾"); //第三個參數(shù)表示:指定搜索操作應包括所有子目錄還是僅包括當前目錄。 string[] files1 = Directory.GetFiles(@"C:\新建文件夾", "2.txt", SearchOption.AllDirectories); //(獲取指定目錄下的所有目錄時返回一個DirectoryInfo數(shù)組。) DirectoryInfo dirs = Directory.GetParent(@"C:\新建文件夾"); //移動、剪切。只能在同一個磁盤中。目錄沒有Copy方法??梢允褂肕ove()方法實現(xiàn)重命名。 Directory.Move(@"F:\測試\33", @"F:\測試\32\33");
派生類:
DirectoryInfo
FileInfo
//實例化FileInfo進行操作 FileInfo myfile = new FileInfo(path); //聲明一個對象對某一個文件進行操作 myfile.CopyTo(destpath); //對文件進行復制操作,復制路徑為destpath myfile.MoveTo(destpath); //進行移動操作 myfile.Delete(); //進行刪除操作 //獲得某一文件或文件夾的詳細信息(創(chuàng)建日期,最后一次修改日期等等) FileInfo myfile = new FileInfo(path); //聲明一個對象對某一個文件進行操作 DateTime dt = myfile.CreationTime; //獲取或設置文件/文件夾的創(chuàng)建日期 string filepath = myfile.DirectoryName; //僅能用于FileInfo,獲得完整的路徑名,路徑+文件名 bool file = myfile.Exists; //此屬性的值表示文件或文件夾是否存在,存在會返回True string fullname = myfile.FullName; //獲取文件或文件夾的完整路徑名 DateTime lastTime = myfile.LastAccessTime; //獲取或設置最后一次訪問文件或文件夾的時間 DateTime lastWrite = myfile.LastWriteTime; //獲取或設置最后一次修改文件夾或文件夾的時間 string name = myfile.Name; //獲取文件名,不能修改哦 long length = myfile.Length; //返回文件的字節(jié)大小 //CreationTime,LastAccessTime,LastWriteTime都是可以被修改的。
DirectoryInfo dir = new DirectoryInfo(@"d:\C#程序設計"); if (!dir.Exists) { dir.Create(); } else { Console.WriteLine("該目錄已經(jīng)存在"); }
在Windows操作系統(tǒng)中,存儲介質統(tǒng)稱為驅動器,硬盤由于可以劃分為多個區(qū)域,每一個區(qū)域稱為一個驅動器。
DriveInfo類的常用字段成員有
DriveFormat(文件系統(tǒng)格式,如NTFS或FAT32)、
DriveType(驅動器類型)、
Name(驅動器名)、
TotalSize(總空間)、
TotalFreeSpace(獲得驅動器可用空間)。
常用的方法成員有GetDrives(獲得可用驅動器列表)。
DriveType枚舉型的枚舉值有CDRom(光驅)、Fixed(硬盤)、Network(網(wǎng)絡驅動器)和Removeable(軟盤或U盤)等。
例如,以下代碼可以輸出每一個硬盤驅動器的剩余空間信息。
DriveInfo[] drivers = DriveInfo.GetDrives(); foreach (DriveInfo driver in drivers) { if (driver.DriveType == DriveType.Fixed && driver.DriveFormat == "NTFS") { Console.WriteLine("在{0}驅動器上還有{1}字節(jié)的剩余空間。", driver.Name, driver.AvailableFreeSpace); } }
到此,關于“怎么用C#中File靜態(tài)類對文件的讀取寫入”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。