FileInfo类用于处理文件及其在C#中的操作。它提供了用于创建,删除和读取文件的属性和方法。它使用StreamWriter类将数据写入文件。它是System.IO命名空间的一部分。
C#FileInfo类签名
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo
C#FileInfo构造函数
下表包含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() | 它用于解密使用Encrypt方法由当前帐户加密的文件。 |
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:\\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 datahttp://www.srcmini.com/= "";
while ((data = http://www.srcmini.com/sr.ReadLine()) != null)
{
Console.WriteLine(data);
}
}
catch (IOException e)
{
Console.WriteLine("Something went wrong: " + e);
}
}
}
}
【C# FileInfo用法】输出:
文章图片
推荐阅读
- C# DirectoryInfo用法
- C# StringReader用法
- C# BinaryWriter用法
- C# StringWriter用法
- C# BinaryReader用法
- C# TextReader用法
- C# TextWriter用法
- C#用户定义的异常
- C#文件流