📌  相关文章
📜  C#FileInfo

📅  最后修改于: 2020-10-31 04:18:23             🧑  作者: Mango

C#FileInfo类

FileInfo类用于处理文件及其在C#中的操作。它提供了用于创建,删除和读取文件的属性和方法。它使用StreamWriter类将数据写入文件。它是System.IO命名空间的一部分。

C#FileInfo类签名

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo

C#FileInfo构造函数

下表包含FileInfo类的构造函数。

Constructor Description
FileInfo(String) It is used to initialize a new instance of the FileInfo class which acts as a wrapper for a file path.

C#FileInfo属性

下表包含FileInfo类的属性。

Properties Description
Attributes It is used to get or set the attributes for the current file or directory.
CreationTime It is used to get or set the creation time of the current file or directory.
Directory It is used to get an instance of the parent directory.
DirectoryName It is used to get a string representing the directory’s full path.
Exists It is used to get a value indicating whether a file exists.
FullName It is used to get the full path of the directory or file.
IsReadOnly It is used to get or set a value that determines if the current file is read only.
LastAccessTime It is used to get or set the time from current file or directory was last accessed.
Length It is used to get the size in bytes of the current file.
Name It is used to get the name of the file.

C#FileInfo方法

下表包含FileInfo类的方法。

Method Description
AppendText() It is used to create a StreamWriter that appends text to the file represented by this instance of the FileInfo.
CopyTo(String) It is used to copy an existing file to a new file.
Create() It is used to create a file.
CreateText() It is used to create a StreamWriter that writes a new text file.
Decrypt() It is used to decrypt a file that was encrypted by the current account using the Encrypt method.
Delete() It is used to permanently delete a file.
Encrypt() It is used to encrypt a file so that only the account used to encrypt the file can decrypt it.
GetAccessControl() It is used to get a FileSecurity object that encapsulates the access control list (ACL) entries.
MoveTo(String) It is used to move a specified file to a new specified location.
Open(FileMode) It is used to open a file in the specified mode.
OpenRead() It is used to create a read-only FileStream.
OpenText() It is used to create a StreamReader with UTF8 encoding that reads from an existing text file.
OpenWrite() It is used to create a write-only FileStream.
Refresh() It is used to refresh the state of the object.
Replace(String,String) It is used to replace the contents of a specified file with the file described by the current FileInfo object.
ToString() It is used to return the path as a string.

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);
            }
        }
    }
}

输出: