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.