zoukankan      html  css  js  c++  java
  • c# Directory

    Directory类主要用于遍历文件夹和文件。

    调用EnumerateDirectories()等以Enumerate开头的方法,则直接返回,在使用的时候才枚举,提高了效率。

            public static void TestDirectory()
            {
                string dir = @"D:FileTest";
                if (Directory.Exists(dir))
                {
                    try
                    {
                        Console.WriteLine("-----------EnumerateFileSystemEntries------------");
                        var entries = Directory.EnumerateFileSystemEntries(dir,"*.*",SearchOption.AllDirectories);
                        foreach (var e in entries)  //在此行加断点可以发现,尽管dir中有大量文件,EnumerateFileSystemEntries依然直接返回。
                        {
                            Console.WriteLine(e.ToString());//直到真正使用entries时,才进行枚举。
                        }
                        Console.WriteLine("-----------------------");
    
                        Console.WriteLine("-----------EnumerateDirectories------------");
                        var dirs = Directory.EnumerateDirectories(dir, "*.*", SearchOption.AllDirectories);
                        foreach (var d in dirs)
                        {
                            Console.WriteLine(d.ToString());
                        }
                        Console.WriteLine("-----------------------");
    
                        Console.WriteLine("-----------EnumerateFiles------------");
                        var files = Directory.EnumerateFiles(dir,"*.txt",SearchOption.AllDirectories);
                        foreach (var f in files)
                        {
                            Console.WriteLine(f.ToString());
                        }
                        Console.WriteLine("-----------------------");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.ToString());
                    }
                }
            }

    结果:

    -----------EnumerateFileSystemEntries------------
    D:FileTestdir1
    D:FileTestFile_1.txt
    D:FileTestFile_2.txt
    D:FileTestFile_3.txt
    D:FileTestdir1File_11.txt
    D:FileTestdir1File_12.txt
    -----------------------
    -----------EnumerateDirectories------------
    D:FileTestdir1
    -----------------------
    -----------EnumerateFiles------------
    D:FileTestFile_1.txt
    D:FileTestFile_2.txt
    D:FileTestFile_3.txt
    D:FileTestdir1File_11.txt
    D:FileTestdir1File_12.txt
    -----------------------

  • 相关阅读:
    【ABAP】
    【Ebs】-日记账导入优化
    【EBS】-日记账审批相关知识点
    【LINUX】cron知识小结
    【Oracle】物化视图相关SQL
    【Ebs】EBS12.2.7 REST ISG的配置
    【Oracle】Windows上Oracle数据库的安装
    【EBS】菜单的复制脚本
    《我们内心的冲突》(卡伦•霍尼)读书笔记
    魔方攻略
  • 原文地址:https://www.cnblogs.com/wyvern0618/p/9454924.html
Copyright © 2011-2022 走看看