System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)

一、建立的文件夹(对这些文件进行以上四个类的操作):

父目录:

父目录的子目录以及父目录下的文件:

子目录下的文件:


二、效果图


三、代码实现

 1 using System;
 2 using System.IO;
 3 namespace testio
 4 {
 5     class Program
 6     {
 7 
 8         static void Main(string[] args)
 9         {
10             //string Path = @"C:UserszhangtaoDesktopTest";
11             string fileNAME = "tt" + ".txt";
12             string Path = @"C:UserszhangtaoDesktopTest" + "\" + fileNAME;
13             //0、File 类
14             Console.WriteLine("0" + "" + "File 类");
15             string fileIO = File.ReadAllText(Path);             //读取文件格式为".txt"的内容
16             Console.WriteLine(fileIO);                          //读取文件格式为".txt"的内容
17 
18             //1、FileInfo 类
19             Console.WriteLine("1" + "" + "FileInfo 类");
20             FileInfo fi = new FileInfo(Path);
21             Console.WriteLine(fi);
22             Console.WriteLine(fi.CreationTime.ToString());      //获取文件创建时间
23             Console.WriteLine(fi.Exists);
24             Console.WriteLine(fi.Extension);
25             Console.WriteLine(fi.Attributes);
26             Console.WriteLine(fi.Directory);                    //获取文件的目录
27             Console.WriteLine(fi.DirectoryName);
28             Console.WriteLine(fi.FullName);
29             int position = fi.Name.LastIndexOf(".");
30             string filename = fi.Name.Substring(0, position);   //获取文件创建时间
31             Console.WriteLine(filename);
32 
33             //2、Directory 类
34             Console.WriteLine("2" + "" + "Directory 类");
35             var files = Directory.GetFiles(@"C:UserszhangtaoDesktopTest", "*.txt");    //得到该目录下所有".txt"格式的文件
36             foreach (var file in files)
37                 Console.WriteLine(file);                                                   //获取文件的路径以及名字
38             var files01 = Directory.GetCreationTime(@"C:UserszhangtaoDesktopTest");    //获取目录创建时间
39             Console.WriteLine(files01);
40 
41             var files02 = Directory.GetDirectories(@"C:UserszhangtaoDesktopTest");     //得到Test目录所包含的子目录
42             foreach (var files002 in files02)
43                 Console.WriteLine(files002);
44             //3、DirectoryInfo 类
45             Console.WriteLine("3" + "" + "DirectoryInfo 类");
46             DirectoryInfo folder = new DirectoryInfo(@"C:UserszhangtaoDesktopTest");
47             Console.WriteLine(folder);
48             foreach (DirectoryInfo dd in folder.GetDirectories())         //获取子目录的名称
49             {
50                 Console.WriteLine(dd);
51             }
52             foreach (FileInfo file in folder.GetFiles("*.txt"))
53             {
54                 Console.WriteLine(file.Name);                //获取该目录所包含文件的名字
55                 Console.WriteLine(file.CreationTime);        //获取文件创建时间
56                 Console.WriteLine(file.FullName);            //获取文件的路径以及名字
57                 Console.WriteLine(file.Directory);           //获取文件目录路径
58                 Console.WriteLine(file.Extension);           //获取文件格式
59 
60             }
61             //Console.WriteLine(GetFoldAll(Path));
62             Console.ReadKey();
63 
64 
65         }
66     }
67  }

 附:

如何获取指定目录包含的文件和子目录:

    1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;
    2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;
    3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
如何获取指定文件的基本信息:

    FileInfo.Exists:获取指定文件是否存在;
    FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
    FileInfo.FullName:获取文件的全限定名称(完整路径);
    FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
    FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
    FileInfo.Length:获取文件的大小(字节数);
    FileInfo.IsReadOnly:获取文件是否只读;
    FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合
    FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;



   【欢迎转载】

    转载请表明出处: 乐学习

原文地址:https://www.cnblogs.com/JLZT1223/p/6133683.html