C# IO流的操作非常重要,我們讀寫文件都會(huì)使用到這個(gè)技術(shù),這里先演示一個(gè)文件內(nèi)容復(fù)制的例子,簡(jiǎn)要說(shuō)明C#中的IO操作。
10多年建站經(jīng)驗(yàn), 成都做網(wǎng)站、成都網(wǎng)站建設(shè)客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營(yíng)銷型網(wǎng)頁(yè)建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //將文件內(nèi)容讀到流中 Stream stream = File.Open("test.txt", FileMode.OpenOrCreate); //初始化一個(gè)字節(jié)數(shù)組 byte[] bytes = new byte[(int)stream.Length]; //將流讀到字節(jié)數(shù)組中 stream.Read(bytes, 0, bytes.Length); //用MemoryStream接收 MemoryStream ms = new MemoryStream(bytes); //從開始處設(shè)置 ms.Seek(0, SeekOrigin.Begin); //再把返回的MemoryStream 寫到另一個(gè)文件中去 ms.WriteTo(new FileStream("newFile.txt", FileMode.OpenOrCreate)); } } }
Stream是一個(gè)抽象類,而MemoryStream和FileStream都是Sream的子類。
而下面這個(gè)例子則演示了異步讀取txt文本內(nèi)容的方法。
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine(GetTxt().Result); } ////// 異步讀取txt文本內(nèi)容 /// ///public static async Task GetTxt() { using (Stream stream = File.Open("test.txt", FileMode.OpenOrCreate)) { using (StreamReader sr = new StreamReader(stream, Encoding.Default)) { return await sr.ReadToEndAsync(); } } } } }
關(guān)于IO更多的類以及操作請(qǐng)參考:https://msdn.microsoft.com/zh-cn/library/system.io(v=vs.110).aspx。