程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> File,FileInfo,FileStream,StreamReader的區別與用法

File,FileInfo,FileStream,StreamReader的區別與用法

編輯:C#入門知識

剛開始學習C#,寫一些簡單的控制台應用程序:主要是讀入文件,處理,然後寫入文件。

一直對於File,FileInfo,FileStream,StreamReader的概念和用法都很混亂,今天就了解的總結一下。

概括的說,File,FileInfo,FileStream是用於文件 I/O 的類,StreamReader是用於從流讀取和寫入流的類,使用之前都需using System.IO。

先定義一個TXT文檔路徑: string txtpath = (@"D:C#練習1.txt");  要讀入這個文檔。

(1)File 提供用於創建、復制、刪除、移動和打開文件的靜態方法,並協助創建 FileStream。

    FileStream fs = File.Open(txtpath, FileMode.Open);


    File可以直接調用各種方法(Open、Delete、Exists等)

    例如: if (File.Exists(txtpath))
            {
                File.Delete(txtpath);
            }

(2)FileInfo 提供用於創建、復制、刪除、移動和打開文件的實例方法,並協助創建 FileStream。

    FileInfo fi = new FileInfo(txtpath); //實例化

    FileStream fs = fi.Open();


(3)FileStream 支持通過其 Seek 方法隨機訪問文件。默認情況下,FileStream 以同步方式打開文

   件,但它也支持異步操作。

   利用FileStream 我們可以得到一個文件的Streams,接著就是來讀取。

(4)StreamReader 通過使用 Encoding 進行字符和字節的轉換,從 Streams 中讀取字符。

    StreamWriter 通過使用 Encoding 將字符轉換為字節,向 Streams 寫入字符。

    StreamReader sr = new StreamReader(fs);

            string str = null;
            string temp=null;
            while((temp=sr.ReadLine())!=null)
            {
               str+=" "+temp;
            }

     得到一個字符串,再可以對字符串進行處理。

PS:

TextReader 是 StreamReader 和 StringReader 的抽象基類。抽象 Stream 類的實現用於字節輸入和輸出,而 TextReader 的實現用於 Unicode 字符輸出。

TextWriter 是 StreamWriter 和 StringWriter 的抽象基類。抽象 Stream 類的實現用於字節輸入和輸出,而 TextWriter 的實現用於 Unicode 字符輸出。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved