📅  最后修改于: 2020-10-31 04:18:23             🧑  作者: Mango
FileInfo类用于处理文件及其在C#中的操作。它提供了用于创建,删除和读取文件的属性和方法。它使用StreamWriter类将数据写入文件。它是System.IO命名空间的一部分。
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo
下表包含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. |
下表包含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. |
下表包含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. |
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。屏幕截图如下。
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);
}
}
}
}
输出:
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);
}
}
}
}
输出: