zoukankan      html  css  js  c++  java
  • 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。

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

  • 相关阅读:
    Source Insight技巧收集
    宝贝,祝你生日快乐!
    【转载】C++中的extern C
    Meego
    source insight增加新类型方法
    点操作符和箭头操作符的异同
    【转载】mtk编译命令
    margin和padding的用法与区别以及bug处理方式
    js数组
    随机验证码,颜色同时刷新
  • 原文地址:https://www.cnblogs.com/charlesmvp/p/13594087.html
Copyright © 2011-2022 走看看