標籤:技術
C# IO流的操作非常重要,我們讀寫檔案都會使用到這個技術,這裡先示範一個檔案內容複寫的例子,簡要說明C#中的IO操作。
namespace ConsoleApplication1{ class Program { static void Main(string[] args) { //將檔案內容讀到流中 Stream stream = File.Open("test.txt", FileMode.OpenOrCreate); //初始化一個位元組數組 byte[] bytes = new byte[(int)stream.Length]; //將流讀到位元組數組中 stream.Read(bytes, 0, bytes.Length); //用MemoryStream接收 MemoryStream ms = new MemoryStream(bytes); //從開始處設定 ms.Seek(0, SeekOrigin.Begin); //再把返回的MemoryStream 寫到另一個檔案中去 ms.WriteTo(new FileStream("newFile.txt", FileMode.OpenOrCreate)); } }}
Stream是一個抽象類別,而MemoryStream和FileStream都是Sream的子類。
而下面這個例子則示範了非同步讀取txt常值內容的方法。
namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Console.WriteLine(GetTxt().Result); } /// <summary> /// 非同步讀取txt常值內容 /// </summary> /// <returns></returns> public static async Task<string> GetTxt() { using (Stream stream = File.Open("test.txt", FileMode.OpenOrCreate)) { using (StreamReader sr = new StreamReader(stream, Encoding.Default)) { return await sr.ReadToEndAsync(); } } } }}
關於IO更多的類以及操作請參考:https://msdn.microsoft.com/zh-cn/library/system.io(v=vs.110).aspx。
C# IO流的操作