C# FileInfo类

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类