位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# Filelnfo类

提问人:刘团圆发布时间:2020-12-10

    与Hie类不同,Filelnfo类不是静态的,没有静态方法,只有在实例化后才可使用。Filelnfo对象表示磁盘或网络位置上的文件。提供文件路径,就可以创建一个Filelnfo对象:

    Filelnfo aFile = new Filelnfo <@"C:\Log.txt*1);


    在路径名中,你也可以使用“/”字符。但那样的话,当执行的Windows命令为命令行选项使“/”时,将会发生冲突。

    也可将目录名传递给FileInfo构造函数,但实际上这并不是很有用。这么做会用所有的目录信息初始化FileInfo的基类FilesSystemlnfo,但FileInfo中与文件相关的专用方法或属性都不会工作。

    FileInfo类提供的许多方法类似于File类的方法,但由于File是静态类,它需要一个字符串参数为每个方 法调用指定文件位置。因此,下面的调用可以完成相同的工作:

Filelnfo aFile = new Filelnfo("Data.txt"); 

if (aFile.Exists)

    WriteLine ("File Exists"); 

if (File.Exists("Data.txt"))

    WriteLine {"File Exists");

    这段代码检查文件Data.txt是否存在。注意,这里没有指定任何目录信息,这说明只检査当前的工作目录。这个目录包含调用此代码的应用程序。

    Filelnfo类的许多方法与File类中的对应方法类似。大多数情况下使用什么技术并不重要,但下面的规则有助于确定哪种技术更合适:

    • 如果仅进行单一方法调用,则可使用静态File类上的方法。在此,单一调用要快一些,因为.NET Framework不必实例化新对象,再调用方法。

    • 如果应用程序在文件上执行几种操作,则实例化Filelnfo对象并使用其方法就更好一些。这节省时间,因为对象己在文件系统上引用正确的文件,而静态类必须每次都寻找文件。

    Filelnfo类也提供了与底层文件相关的属性,其中一些属性可用来更新文件,其中很多属性都继承于FileSystemlnfo.所以可应用于 Filelnfo和 Directorylnfo类。FileSystemlnfo类的属性如表所不。

属 性

说明

Attributes

使用FileAttributes枚举,获取或者设置当前文件或目录的特性

CreationTime

CreationTimeUtc

获取当前文件的创建日期和时间,可使用UTC和非UTC版本

Extension

提取文件的扩展名。这个属性是只读的

Exists

确定文件是否存在,这是一个只读的抽象属性,在FilelnfoDirectorylnfo中进行了重写

FullName

检索文件的完整路径,这个属性是只读的

LastAccessTime,

LastAccessTimeUtc

获取或设盟上次访问当前文件的日期和时间,可使用UTC和非UTC版本

LastWriteTime,

LastWriteTimelltc

获取或设罝上次写入当前文件的日期和时间,可使用UTC和非UTC版本

Name

检索文件的完整路径,这是一个只读抽象属性,在FilelnfoDirectorylnfo中进行了重写

Filelnfo的专用属性如表所示。

说明

Directory

检索一个Directorylnfo对象,表示包含当前文件的目录。这个屈性是只读的

DirectoryName

返回文件目录的路径。这个属性是只读的

IsReadOnly

文件只读特性的快捷方式。也可以通过Attributes来访问这个屈性

Length

获取文件的大小(以字节为单位),返回long值。这个属性是只读的


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部