文件目录的操作DirectoryInfo类

DirectoryInfo归属于System.IO这个输入输出流命名空间,主要用来操作目录,如可以进行复制,移动,重命名,创建和删除目录,此类不可被继承。

下面我们来简单的进行目录操作吧。

首先呢,我在E:\盘下创建一个文件夹,名为测试,该文件夹下又有三个子目录,两个文件夹,一个.txt文本文件,在第一个子文件夹中继续嵌套三个子目录。

看下图:

文件目录的操作DirectoryInfo类_第1张图片

文件目录的操作DirectoryInfo类_第2张图片

 

前面已经   做足了测试环境,那接下来看代码吧。

//输入一个目录路径,然后就显示下面的目录或者文件的信息

        private void ShowDirectory(DirectoryInfo dir)

        {

            Console.WriteLine("以下为" + dir.Name + " 所有子目录名称: ");

            //目录类的对象数组,存放当前目录下的文件夹

            DirectoryInfo[] myDirectoryInfo = dir.GetDirectories();

           

            foreach (DirectoryInfo subDir in myDirectoryInfo)

            {

                Console.WriteLine

                    (subDir.Name + "\n" +

                    "[最后修改日期:" + subDir.LastAccessTime + "]\n" +

                    "[最后写入日期:" + subDir.LastWriteTime + "]\n"

                    );

                ShowDirectory(subDir);//递归循环调用

                ShowFiles(subDir);

            }

        }

        //显示当前目录下的文件信息

        private void ShowFiles(DirectoryInfo dir)

        {

            Console.WriteLine("以下为" + dir.Name + " 所有子文件名称: ");

            FileInfo[] myFileInfo = dir.GetFiles();

 

            foreach (FileInfo myFile in myFileInfo)

            {

 

                Console.WriteLine

                    (myFile.Name + "\n" +

                     "[文件扩展名:" + myFile.Extension + "]\n" +

                     "[最后修改日期:" + myFile.LastAccessTime + "]\n" +

                     "[最后写入日期:" + myFile.LastAccessTime + "]\n"

                    );

            }

        }

ShowDirectory()方法只能看到文件夹,而文件类型却不知道,所以创建一个ShowFiles()来查看文件类型,两个方法一同调用就可以得出目录下的所有文件了。

调用方法:

static void Main(string[] args)

        {

            //按下enter键

            Console.Write("请输入目录名称: ");

            //声明字符串接收自定义输入目录

            string strDirectoryName = Console.ReadLine();

            //创建当前目录对象

            DirectoryInfo myDirectoryInfo = new DirectoryInfo(strDirectoryName);

            //判断该目录是否存在

            if (!myDirectoryInfo.Exists)

            {

                //创建该文件夹

                myDirectoryInfo.Create();

            }

            else

            {

                //实例化当前类

                UsingDirInfo myUsingDirInfo = new UsingDirInfo();

                //显示当前目录对象下目录信息

                myUsingDirInfo.ShowDirectory(myDirectoryInfo);

                //显示当前目录对象下的文件信息

                myUsingDirInfo.ShowFiles(myDirectoryInfo);

                Console.ReadLine();

            }

 }

一个查询目录下的所有子目录就这样完成了,自己复制代码运行一下。

你可能感兴趣的:(菜鸟练练)