zoukankan      html  css  js  c++  java
  • C#获取某一路径下的所有文件名信息(包括子文件夹)

    前言:初步梳理记录,以后慢慢总结更多的方法...

    方法一:使用微软提供的方法:Dicrectory类中的:public static string[] GetFiles(string path, string searchPattern, SearchOption searchOption);

    path-获取文件的路径;searchPattern-要获取的包含的文件标记,使用"."可表示所有文件类型;searchaOption是一个枚举,SearchOption.AllDirectories表示获取当前目录及所有子目录;

    获取的结果包含完整路径,处理下即可:

    Directory.GetFiles("filePath", ".", SearchOption.AllDirectories);

    方法二:使用自定义循环读取某一路径下所有的文件:

    贴代码了,这里使用的是C#控制台输出文件名到记事本中,文件名使用逗号隔开:

    using System;
    using System.IO;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            public static string FileName = "";
    
            public static void Main(string[] args)
            {
                bool isContinute = true;
                WriteMessage("结束程序请输入1");
                WriteMessage("请输入要获取文件名的路径:");
                string path = Console.ReadLine();
                do
                {
                    if (string.IsNullOrEmpty(path))
                    {
                        WriteMessage("路径不存在!请重新输入");
                    }
                    else
                    {
                        DirectoryInfo dir = new DirectoryInfo(path);
                        if (dir.Exists == false)
                        {
                            WriteMessage("路径不存在!请重新输入");
                        }
                        else
                        {
                            FileName = "";
                            GetChildDicsName(dir);
                            WriteMessage(FileName);
                            Console.WriteLine("获取该路径下文件名成功!你可以继续输入新的路径");
                        }
                    }
                    path = Console.ReadLine();
                    isContinute = path != "1";
                } while (isContinute);
            }
    
            public static DirectoryInfo[] GetChildDicsName(DirectoryInfo dir)
            {
                FileInfo[] fileArray = dir.GetFiles();
                DirectoryInfo[] childDirs = dir.GetDirectories();
    
                foreach (FileInfo file in fileArray)
                {
                    FileName += file.Name + ",";
                }
                if (childDirs.Length > 0)
                {
                    foreach (DirectoryInfo dirChild in childDirs)
                    {
                        GetChildDicsName(dirChild);
                    }
                }
                return childDirs;
            }
    
            public static void WriteMessage(string message)
            {
                Console.WriteLine(message);
                //File.Create(@"C:UsersPublicDesktop	est.txt");
                FileStream fs = File.Open(@"C:UsersPublicDesktop	est.txt", FileMode.Append);
                StreamWriter sw = new StreamWriter(fs);
                sw.WriteLine(message);  //这里是写入的内容
                sw.Close();
                fs.Close();
            }
        }
    }

    控制台信息截图:

  • 相关阅读:
    hive表链接
    hive聚合函数和表生成函数
    hive条件函数
    hive日期函数
    hive之size函数和cast转换函数
    hive数学函数
    hive排序
    5G基站概述
    MEC边缘云平台
    ELK日志系统的架构
  • 原文地址:https://www.cnblogs.com/lxhbky/p/9254832.html
Copyright © 2011-2022 走看看