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类
