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#

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.