1. 程式人生 > >C# 流

C# 流

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# 流