这节讲两个实例类,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。

这是我的公众号二维码,获取最新文章,请关注此号

FileInfo & DirectoryInfo的更多相关文章

  1. File,FileInfo,Directory,DirectoryInfo

    两者的共同点:  一:都用于典型的操作,如复制.移动.重命名.创建.打开.删除和追加到文件   二:默认情况下,将向所有用户授予对新文件的完全读/写访问权限.  两者的区别:   File类是静态类, ...

  2. S2---深入.NET平台和C#编程的完美总结

    1.NET简单解说 l 面向对象提升 OOP(Object Oriented  Programming)面向对象编程 AOP:(Aspache  Oriented Programming):面向切面编 ...

  3. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  4. vb.net下载代码

    '后台 Partial Public Class Download2 Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender ...

  5. [C#] CSharp 基本语法

    CSharp Language Specification 一.基础 1.规范: 除常量外,所有变量用驼峰命名方式,其它用帕斯卡命名方式. 2.编译: 首先由csc.exe将cs文件编译成MSIL.当 ...

  6. .net程序员工作两年总结

    (2015年9月) 最近换了工作,面试了很多家公司想总结下,以便以后回顾知道自己是怎么走过来的. 入行背景: 我是半路转行做软件开发的,2011年7月大学专科毕业,大学专业是:机械制造及其自动化:20 ...

  7. LoadAssetAtPath 与 Load 的区别

    一.官方的文档 Resources.LoadAssetAtPath Returns a resource at an asset path (Editor Only). This function a ...

  8. C#路径/文件/目录/I/O常见操作汇总<转载>

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  9. 【转】C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

随机推荐

  1. 杨辉三角的实现(Java)

    杨辉三角的实现 一.什么是杨辉三角 杨辉三角是二项式系数在三角形中的一种几何排列.每个数等于它上方两数之和.每行数字左右对称,由1开始逐渐变大.第n行的数字有n项.前n行共[(1+n)n]/2 个数. ...

  2. C++ 虚函数的内部实现

    C++ 虚函数的内部实现 虚函数看起来是个玄之又玄的东西,但其实特别简单!了解了虚函数的内部实现,关于虚函数的各种问题都不在话下啦! 1. 知识储备 阅读这篇文章,你需要事先了解以下几个概念: 什么是 ...

  3. PReact10.5.13源码理解

    React源码看过几次,每次都没有坚持下来,索性学习一下PReact部分,网上讲解源码的不少,但是基本已经过时,所以自己来梳理下 render.js部分 import { EMPTY_OBJ, EMP ...

  4. NameError: name 'foo' is not defined Python常见错误

    1.变量或者函数名拼写错误 2.在一个定义新变量中使用增值操作符 没有定义的变量被引用时候会出现此错误

  5. 打造云原生大型分布式监控系统系列文章-腾讯工程师roc

    附上本系列文章链接 打造云原生大型分布式监控系统(一): 大规模场景下 Prometheus 的优化手段 打造云原生大型分布式监控系统(二): Thanos 架构详解 打造云原生大型分布式监控系统(二 ...

  6. css详解position五种属性用法及其含义

    position(定位) position - 作为css属性三巨头(position.display.float)之一,它的作用是用来决定元素在文档中的定位方式.其属性值有五种,分别是 - stat ...

  7. Flowable与springBoot项目整合及出现的问题

    Flowable与springBoot项目整合及出现的问题 单纯地将Flowable和springBoot整合,使用mysql作为数据库,整合中踩了两个坑,见文末. 在pom中添加依赖 <?xm ...

  8. 6.3string用法

    string类型可以大大方便对字符串的处理 1.string的定义 string str; string str="abcd"; 2.string中内容的访问 (1)可以像字符数组 ...

  9. (十八)VMware Harbor 镜像同步

    为什么需要镜像同步 由于对镜像的访问是一个核心的容器概念,在实际使用过程中,一个镜像库可能是不够用的,下例情况下,我们可能会需要部署多个镜像仓库: 国外的公有镜像下载过慢,需要一个中转仓库进行加速 容 ...

  10. Andy‘s First Dictionary UVA - 10815

      Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for h ...