C# 中的FileInfo
類用於處理及操作檔案。它提供用於建立,刪除和讀取檔案的屬性和方法。 它使用StreamWriter
類將檔案寫入檔案。它在System.IO
名稱空間中定義。
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo
下表列出FileInfo
類別建構函式。
建構函式 | 描述 |
---|---|
FileInfo(String) | 它用於初始化FileInfo 類的新範例,該範例充當檔案路徑的包裝器。 |
下表列出FileInfo
類的屬性。
屬性 | 描述 |
---|---|
Attributes | 它用於獲取或設定當前檔案或目錄的屬性。 |
CreationTime | 它用於獲取或設定當前檔案或目錄的建立時間。 |
Directory | 它用於獲取父目錄的範例。 |
DirectoryName | 它用於獲取表示目錄完整路徑的字串。 |
Exists | 它用於獲取一個值,指示檔案是否存在。 |
FullName | 它用於獲取目錄或檔案的完整路徑。 |
IsReadOnly | 它用於獲取或設定確定當前檔案是否為唯讀的值。 |
LastAccessTime | 它用於獲取或設定從上一次存取當前檔案或目錄的時間。 |
Length | 它用於獲取當前檔案的位元組數。 |
Name | 它用於獲取檔案的名稱。 |
下表列出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() | 它用於將路徑作為字串返回。 |
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被建立。如下圖中所示 -
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.
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.