C# 流
阿新 • • 發佈:2017-08-18
span ets tex read blog oid new lec args
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; //流 namespace Stream { class Program { static void Main(string[] args) { Stream2(); Console.ReadKey(); }static void Stream1() { string filePath = "D:\\test.txt"; //利用File.Open創建一個FileStream實體 using (FileStream filestream = File.Open(filePath, FileMode.Open)) { //定義字符串 string msg = "hello world";//string msg =Console.ReadLine();//將字符串轉化為字節數據 byte[] msgAsByteArray = Encoding.Default.GetBytes(msg); Console.WriteLine("開始寫入到文件中{0}", msg); //將字節數據寫入到流中 filestream.Write(msgAsByteArray, 0, msgAsByteArray.Length); //重置流中的位置 filestream.Seek(0, SeekOrigin.Begin); Console.WriteLine("寫入文件中的數據為:"); //定義字節數組 byte[] bytesFormFile = new byte[msgAsByteArray.Length]; //從流中讀取到字節數據 filestream.Read(bytesFormFile, 0, msgAsByteArray.Length); Console.WriteLine(Encoding.Default.GetString(bytesFormFile)); } } /// <summary> /// StreamWriter與StreamReader /// </summary> static void Stream2() { string filePath = "D:\\test.txt"; using (FileStream filestream = File.Open(filePath, FileMode.Open)) { //定義字符串 string msg = "hello world(你好)";//string msg =Console.ReadLine(); //創建StreamWriter對象System.Text.Encoding.Default:編碼格式 StreamWriter streamwriter = new StreamWriter(filestream,System.Text.Encoding.Default); Console.WriteLine("開始寫入{0}到文件中", msg); streamwriter.Write(msg); //創建StreamReader對象 StreamReader streamreader = new StreamReader(filestream, Encoding.Default); //這裏將讀不到數據,因為還未寫入完成 Console.WriteLine("寫入到文件中數據為{0}", streamreader.ReadToEnd()); //關閉 streamwriter.Close(); streamreader.Close(); } } } }
Stream繼承結構:
C# 流