C# FileInfo 类
C# FileInfo 类
FileInfo 类用于在 C# 中处理文件及其操作。它提供了用于创建、删除和读取文件的属性和方法。它使用 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() |
用于解密当前帐户使用Encrypt方法加密的文件。 |
Delete() |
用于永久删除文件。 |
Encrypt() |
用于加密文件,只有用于加密文件的帐户才能解密。 |
GetAccessControl() |
用于获取封装访问控制列表(ACL) 条目的 FileSecurity 对象。 |
MoveTo(String) |
用于将指定文件移动到新的指定位置。 |
Open(FileMode) |
用于以指定模式打开文件。 |
OpenRead() |
用于创建只读文件流。 |
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:\\abc.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 Successfully
我们可以看到在F驱动器中创建了一个文件abc.txt。截图如下。
C# FileInfo 示例: 写入文件
using System;
using System.IO;
namespace CSharpProgram
{
class Program
{
static void Main(string[] args)
{
try
{
// Specifying file location
string loc = "F:\\abc.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);
}
}
}
}
输出:
C# FileInfo 示例: 从文件中读取文本
using System;
using System.IO;
namespace CSharpProgram
{
class Program
{
static void Main(string[] args)
{
try
{
// Specifying file to read
string loc = "F:\\abc.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);
}
}
}
}
输出: