开放的编程资料库

当前位置:我爱分享网 > C#教程 > 正文

C# 文件信息

在本文中,我们使用FileInfo在C#中处理文件。

文件信息

FileInfo提供用于创建、复制、删除、移动和打开文件的属性和实例方法。它有助于创建FileStream对象。

.NET中有一个类似的类FileFileInfo是表示文件的文件实例,File是用于处理任何文件的实用程序类。

sky
borrow
war
ocean
cup
cloud
water
read
book
look

在几个例子中,我们使用这个文本文件。

C#FileInfo简单例子

我们有一个使用FileInfo的简单示例。

var fi = new FileInfo("words.txt");

Console.WriteLine(fi.Name);
Console.WriteLine(fi.FullName);

bool ro = fi.IsReadOnly;

if (ro)
{
    Console.WriteLine("readonly file");
}
else
{
    Console.WriteLine("not a readonly file");
}

我们创建一个FileInfo对象,将一个文本文件传递给它的构造函数。然后我们打印它的三个属性。

Console.WriteLine(fi.Name);
Console.WriteLine(fi.FullName);

我们打印它的名字和全名。

bool ro = fi.IsReadOnly;

if (ro)
{
    Console.WriteLine("readonly file");
}
else
{
    Console.WriteLine("not a readonly file");
}

我们判断文件是否是只读的。

$ dotnet run
words.txt
/home/jano/Documents/prog/csharp/fileinfo/First/words.txt
not a readonly file

C#FileInfo创建文本文件

CreateText方法创建一个StreamWriter来写入一个新的文本文件。

var fi = new FileInfo("colours.txt");

using StreamWriter sw = fi.CreateText();

sw.WriteLine("red");
sw.WriteLine("yellow");
sw.WriteLine("white");
sw.WriteLine("brown");

我们创建一个新的文本文件colours.txt。我们在文件中写入四行。

using StreamWriter sw = fi.CreateText();

StreamWriter类实现了IDisposable接口;因此,我们使用using语句在完成后关闭资源。

C#FileInfo读取文件

OpenText创建一个使用UTF8编码的StreamReader,它可以从现有的文本文件中读取数据。

var fi = new FileInfo("words.txt");

using StreamReader sr = fi.OpenText();
string? s = string.Empty;

while ((s = sr.ReadLine()) != null)
{
    Console.WriteLine(s);
}

在示例中,我们逐行读取文件。

$ dotnet run
sky
borrow
war
ocean
cup
cloud
water
read
book
look

C#FileInfo删除文件

Delete方法删除一个文件。

var fi = new FileInfo("/etc/hostname");

try
{
    fi.Delete();

} catch (UnauthorizedAccessException e)
{
    Console.WriteLine("failed to delete file");
    Console.WriteLine(e.Message);
}

在示例中,我们尝试删除一个系统文件。由于我们没有足够的权限,因此抛出异常。

$ dotnet run
failed to delete file
Access to the path '/etc/hostname' is denied.

C#FileInfo复制文件

CopyTo将现有文件复制到新文件,不允许覆盖现有文件。

var fi = new FileInfo("words.txt");
fi.CopyTo("words2.txt");

该示例创建了words.txt文件的副本。

C#文件信息目录

Directory获取父目录的实例。

var fi = new FileInfo("/etc/hostname");
var di = fi.Directory;

Console.WriteLine(di?.FullName);
Console.WriteLine(di?.LastAccessTime);
Console.WriteLine(di?.Root);

该示例打印文件的父目录全名、上次访问时间和根目录。

$ dotnet run
/etc
6/30/2022 11:46:07 AM
/

在本文中,我们使用了FileInfo来处理文件。

列出所有C#教程。

未经允许不得转载:我爱分享网 » C# 文件信息

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏