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類
