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.