本文共 1256 字,大约阅读时间需要 4 分钟。
C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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文本内容的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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更多的类以及操作请参考:。
本文转自 guwei4037 51CTO博客,原文链接:http://blog.51cto.com/csharper/1619153
转载地址:http://ojuta.baihongyu.com/