c# 文件處理

重點介紹windows應用程序對文件讀寫所涉及的System.IO命名空間和FileFileInfoFileStreamBinaryReaderBinaryWriterBufferedStream等類,以及常用的方法、參數、屬性、事件、枚舉等。
System.IO 命名空間常用的類

說明

提供用於創建、複製、刪除、移動和打開文件的靜態方法,並協助創建 FileStream 對象。

提供創建、複製、刪除、移動和打開文件的實例方法,並且幫助創建 FileStream 對象。無法繼承此類。

FileStream

公開以文件爲主的 Stream,既支持同步讀寫操作,也支持異步讀寫操作。

BinaryReader

用特定的編碼將基元數據類型讀作二進制值。

BinaryWriter

以二進制形式將基元類型寫入流,並支持用特定的編碼寫入字符串。

BufferedStream

給另一流上的讀寫操作添加一個緩衝層。無法繼承此類。

Directory

公開用於創建、移動和枚舉通過目錄和子目錄的靜態方法。無法繼承此類。

DirectoryInfo

公開用於創建、移動和枚舉目錄和子目錄的實例方法。無法繼承此類。

Path

對包含文件或目錄路徑信息的 String 實例執行操作。這些操作是以跨平臺的方式執行的。

StreamReader

實現一個 TextReader,使其以一種特定的編碼從字節流中讀取字符。

StreamWriter

實現一個 TextWriter,使其以一種特定的編碼向流中寫入字符。

FileSysWatcher

偵聽文件系統更改通知,並在目錄或目錄中的文件發生更改時引發事件。

File類的常用方法

利用MSDN就可以掌握類File的使用,類File提供用於創建、複製、刪除、移動和打開文件的靜態方法,並協助創建 FileStream 對象。類File有幾個常用方法。
方法

說明

Move

將指定文件移到新位置,並提供指定新文件名的選項。

Delete

刪除指定的文件。如果指定的文件不存在,則不引發異常。

Copy

已重載。 將現有文件複製到新文件。

CreateText

創建或打開一個文件用於寫入 UTF-8 編碼的文本。

OpenText

打開現有 UTF-8 編碼文本文件以進行讀取。

Open

已重載。 打開指定路徑上的 FileStream

瞭解File類的一些主要方法

方法

說明

Move

將指定文件移到新位置,並提供指定新文件名的選項。

Delete

刪除指定的文件。如果指定的文件不存在,則不引發異常。

Copy

已重載。 將現有文件複製到新文件。

CreateText

創建或打開一個文件用於寫入 UTF-8 編碼的文本。

OpenText

打開現有 UTF-8 編碼文本文件以進行讀取。

Open

已重載。 打開指定路徑上的 FileStream

using System;

using System.IO;

class Test

{

    public static void Main()

    {

        string path = @"c:\temp\MyTest.txt";

        if (!File.Exists(path))

        {

            // 創建文件以便寫入內容。

            using (StreamWriter sw = File.CreateText(path))

            {

                sw.WriteLine("Hello");

                sw.WriteLine("And");

                sw.WriteLine("Welcome");

            }

        }

        // 打開文件從裏面讀數據。

        using (StreamReader sr = File.OpenText(path))

        {

            string s = "";

            while ((s = sr.ReadLine()) != null)

            {

                Console.WriteLine(s);

            }

        }

        try

        {

            string path2 = path + "temp";

            // 確認將要拷貝成的文件是否已經有同名的文件存在。

            File.Delete(path2);

            // 拷貝文件。

            File.Copy(path, path2);

            Console.WriteLine("{0} was copied to {1}.", path, path2);

            // 刪除新生成的文件。

            File.Delete(path2);

            Console.WriteLine("{0} was successfully deleted.", path2);

        }

        catch (Exception e)

        {

            Console.WriteLine("The process failed: {0}", e.ToString());

        }

    }

}
 
Fileinfo類的常用方法

FileInfo提供創建、複製、刪除、移動和打開文件的實例方法,並且幫助創建 FileStream 對象。無法繼承此類。類FileInfo有幾個常用方法。
屬性

說明

Attributes        

獲取或設置當前 FileSystemInfo FileAttributes。(從 FileSystemInfo 繼承。)

獲取或設置當前 FileSystemInfo 對象的創建時間。(從 FileSystemInfo 繼承。)

獲取父目錄的實例。

獲取表示目錄的完整路徑的字符串。

已重寫。獲取指示文件是否存在的值。

獲取表示文件擴展名部分的字符串。(從 FileSystemInfo 繼承。)

 

下面的示例演示了 FileInfo類的一些主要屬性。
 
using System;

using System.IO;

class Test

{

    public static void Main()

{

        string fileName = "C:\\autoexec.bat";

            FileInfo fileInfo = new FileInfo(fileName);

            if (!fileInfo.Exists)

            {

                return;

            }

            Console.WriteLine("{0} has a directoryName of {1}",fileName,fileInfo.DirectoryName);

            /* 下面是代碼的處理結果,

             * 實際的結果因機器不同:

             *

             * C:\autoexec.bat has a directoryName of C:\

             */

    }

}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章