FileInfo & DirectoryInfo
这节讲两个实例类,FileInfo和DirectoryInfo两个类,用于操作某个具体的文件或者目录。
FileInfo:
FileInfo不同于File,它是一个实例类,有一个string类型的构造方法,用于接收文件路径或者url形式的路径:
FileInfo fi=new FileInfo(@"./demo.txt");
实例化后的对象,就有关于这个文件的信息,比如文件名,扩展名等等。上述参数的前缀@符号,用于标识这个字符串为不转义字符串,也就是说反斜线就是一个反斜线,没有转义功能,这样标识比较方便。本节还是使用上节的demo.txt文件和Test文件夹。
下面先展示一下相关代码:
if (fi.Exists)
{
Console.WriteLine(fi.Name);//文件名
Console.WriteLine(fi.Attributes);//文件访问属性
fi.Attributes = FileAttributes.Archive;//设置文件访问类型
Console.WriteLine(fi.CreationTime);//创建时间
Console.WriteLine(fi.CreationTimeUtc);//创建时间(UTC时间)
Console.WriteLine(fi.Extension);//扩展名
Console.WriteLine(fi.FullName);//完整名
Console.WriteLine(fi.LastAccessTime);//最后一次访问时间
Console.WriteLine(fi.LastAccessTimeUtc);
Console.WriteLine(fi.LastWriteTime);//最后一次修改时间
Console.WriteLine(fi.LastWriteTimeUtc);
DirectoryInfo directoryInfo = fi.Directory;//返回包含此文件的目录信息对象
Console.WriteLine(fi.DirectoryName);//目录名
Console.WriteLine(fi.IsReadOnly);//是否是只读
Console.WriteLine(fi.Length);//文件大小
}
输出结果为:
具体介绍一下Attributes属性,这个属性是个读写属性,可以读取文件访问类型,也可以通过FileAttributes这个枚举类,修改访问类型,比如常见的ReadOnly,Hidden。
Directory属性,该文件所在的目录的信息对象,可以通过此对象查看当前目录信息。
FullName属性,返回完整的路径文件名。
Length属性,返回文件大小,也就是字节数,是个long类型的。
DirectoryInfo:
它的用法和属性,跟FileInfo差不多,但它有两个专有方法:
DirectoryInfo di=new DirectoryInfo("./");
DirectoryInfo parent = di.Parent;
DirectoryInfo root = di.Root; Console.WriteLine(di.FullName);
Console.WriteLine(parent.FullName);
Console.WriteLine(root.FullName);
Parent和Root属性,以上代码输出结果为:
Parent属性,返回该目录的目录的信息对象,
Root返回目录所在盘符的目录信息对象。
那么,File,Directory和FileInfo,DirectoryInfo作用都是差不多的,具体在什么时候用呢,静态类的话,因为不需要实例化,所以在单次使用的情景下,可以使用File,Directory,当需要多次使用的话,就可以使用FileInfo,DirectoryInfo。
这是我的公众号二维码,获取最新文章,请关注此号
最新文章
- SSH项目与SSM项目的进入首页的方法
- ssh连接慢的问题的解决?
- 转:Teach Yourself Programming in Ten Years——用十年教会自己编程
- Spark的应用程序
- WebService cxf 接口中获得拦截器参数
- NUnit - 使用感受
- django 使用jquery ajax post数据问题
- OC——NSString和NSMutableString
- c++ 覆盖、重载、隐藏
- 圣魔大战3(Castle Fantisia)艾伦希亚战记完美攻略
- nested exception is java.sql.SQLException: IO 错误
- 表单提交前,判断webuploader是否上传
- Android主线程的消息系统(Handler\Looper)
- 函数和常用模块【day04】:作用域、局部和全局变量(四)
- JSP内置对象——page对象
- 用DELPHI 开发压缩、解压、自解压、加密
- Java 集合细节(二):asList 的缺陷
- linux 下 java 链接oracle数据库
- malloc、free、new、delete
- C#程序集系列06,程序集清单,EXE和DLL的区别