C# FileInfo類

C# 中的FileInfo類用於處理及操作檔。它提供用於創建,刪除和讀取檔的屬性和方法。 它使用StreamWriter類將檔寫入檔。它在System.IO命名空間中定義。

C# FileInfo類聲明

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo

C# FileInfo構造函數

下表列出FileInfo類的構造函數。

構造函數 描述
FileInfo(String) 它用於初始化FileInfo類的新實例,該實例充當檔路徑的包裝器。

C# FileInfo屬性

下表列出FileInfo類的屬性。

屬性 描述
Attributes 它用於獲取或設置當前檔或目錄的屬性。
CreationTime 它用於獲取或設置當前檔或目錄的創建時間。
Directory 它用於獲取父目錄的實例。
DirectoryName 它用於獲取表示目錄完整路徑的字串。
Exists 它用於獲取一個值,指示檔是否存在。
FullName 它用於獲取目錄或檔的完整路徑。
IsReadOnly 它用於獲取或設置確定當前檔是否為只讀的值。
LastAccessTime 它用於獲取或設置從上一次訪問當前檔或目錄的時間。
Length 它用於獲取當前檔的位元組數。
Name 它用於獲取檔的名稱。

C# FileInfo方法

下表列出FileInfo類中定義的方法。

方法 描述
AppendText() 它用於創建一個StreamWriter類對象,將文本附加到FileInfo的此實例所表示的檔中。
CopyTo(String) 它用於將現有檔複製到新檔。
Create() 它用於創建檔。
CreateText() 它用於創建一個寫入新文本檔的StreamWriter類對象。
Decrypt() 它用於解密由使用加密方法當前帳戶加密的檔。
Delete() 它用於永久刪除檔。
Encrypt() 它用於加密檔,以便只有用於加密檔的帳戶才能對其進行解密。
GetAccessControl() 它用於獲取封裝訪問控制列表(ACL)條目的FileSecurity對象。
MoveTo(String) 它用於將特定檔移動到新的指定位置。
Open(FileMode) 它用於以指定的模式來打開檔。
OpenRead() 它用於創建只讀FileStream
OpenText() 它用於創建從現有文本檔使用UTF8編碼讀取的StreamReader類。
OpenWrite() 它用於創建只寫FileStream對象。
Refresh() 它用於刷新對象的狀態。
Replace(String,String) 用於使用當前FileInfo對象描述的檔替換指定檔的內容。
ToString() 它用於將路徑作為字串返回。

C# FileInfo示例:創建檔

using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Specifying file location
                string loc = "F:\\worksp\\csharp\\fileinfo.txt";
                // Creating FileInfo instance
                FileInfo file = new FileInfo(loc);
                // Creating an empty file
                file.Create();
                Console.WriteLine("File is created Successfuly");
            }
            catch (IOException e)
            {
                Console.WriteLine("Something went wrong: " + e);
            }
        }
    }
}

執行上面示例代碼,得到以下結果 -

File is created Successfuly

可以在F:\worksp\csharp目錄內看到有一個檔:fileinfo.txt被創建。如下圖中所示 -

C# FileInfo示例:寫入檔

using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Specifying file location
                string loc = "F:\\worksp\\csharp\\fileinfo.txt";
                // Creating FileInfo instance
                FileInfo file = new FileInfo(loc);
                // Creating an file instance to write
                StreamWriter sw = file.CreateText();
                // Writing to the file
                sw.WriteLine("This text is written to the file by using StreamWriter class.");
                sw.Close();
            }
            catch (IOException e)
            {
                Console.WriteLine("Something went wrong: " + e);
            }
        }
    }
}

執行上面示例代碼後,打開F:\worksp\csharp\fileinfo.txt檔,應該會看到以下內容 -

This text is written to the file by using StreamWriter class.

C# FileInfo示例:從檔中讀取文本內容

using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Specifying file to read
                string loc = "F:\\worksp\\csharp\\fileinfo.txt";
                // Creating FileInfo instance
                FileInfo file = new FileInfo(loc);
                // Opening file to read
                StreamReader sr = file.OpenText();
                string data = "";
                while ((data = sr.ReadLine()) != null)
                {
                    Console.WriteLine(data);
                }
            }
            catch (IOException e)
            {
                Console.WriteLine("Something went wrong: " + e);
            }
        }
    }
}

執行上面示例代碼後,應該會看到以下結果 -

This text is written to the file by using StreamWriter class.

上一篇: C# StringReader類 下一篇: C# DirectoryInfo類