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

方法一:使用微软提供的方法: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 != "";
} 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 > )
{
foreach (DirectoryInfo dirChild in childDirs)
{
GetChildDicsName(dirChild);
}
}
return childDirs;
} public static void WriteMessage(string message)
{
Console.WriteLine(message);
//File.Create(@"C:\Users\Public\Desktop\test.txt");
FileStream fs = File.Open(@"C:\Users\Public\Desktop\test.txt", FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(message); //这里是写入的内容
sw.Close();
fs.Close();
}
}
}

控制台信息截图:

C#获取某一路径下的所有文件名信息(包括子文件夹)的更多相关文章

  1. python 小练习之删除文件夹下的所有文件,包括子文件夹中的文件

    先屡一下思路 一步步怎么实现 1  要求是要删除所有文件(只是删除文件 而不是文件夹),所以 我们肯定要遍历这个文件目录 (for  in遍历) 2 每遍历一个元素时(文件),我们要判断该元素的属性是 ...

  2. Android程序函数 将assets文件夹下的文件复制到手机的sd卡中(包括子文件夹)

    最近在做个功能是将asset文件夹下的所有文件(包括子文件)全部拷贝出来到指定目录下.所用的方法无非是用AssetManager.但是这里 有个问题是也要讲子文件夹和子文件都要拷贝出来.到网上Goog ...

  3. Linux C 读取文件夹下所有文件(包括子文件夹)的文件名【转】

    转自:https://www.cnblogs.com/xudong-bupt/p/3504442.html 本文:http://www.cnblogs.com/xudong-bupt/p/350444 ...

  4. FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有

    2018-11-05  19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...

  5. php 得到一个文件夹下的所有文件,包括子文件中的文件

    $dir = FCPATH."uploads/attachment/"; $this->getFiles($dir); function getFiles($dir) { $ ...

  6. c# 控制台应用程序批量修改文件夹下的后缀名(包括子文件夹)

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  7. java 压缩文件 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件

    /** * 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件 * * @param files * 文件数组 * @param strZipName * 压缩文件路径及文件名 * @thr ...

  8. java获取ubuntu某个目录下的所有文件信息

    java获取ubuntu某个目录下的所有文件信息 public List<VCFile> getAllFiles(String basicDirName) { List<VCFile ...

  9. 遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包

    List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<st ...

随机推荐

  1. CentOS MariaDB 安装和配置

    sudo vi /etc/yum.repos.d/mariadb.repo # MariaDB 10.1 CentOS repository list - created 2017-03-23 13: ...

  2. 多线程.Thread.Sleep方法

    多线程执行中,调用Thread.Sleep()方法 分情况: 1. 单核的情况下 是把当前正在工作的主线程停止(也就是从把线程变成非工作线程). 其他需要工作的线程来争夺CPU这个闲下来的核.谁争夺到 ...

  3. Sudoku(POJ2676/3074)

    Sudoku is one of the metaphysical techniques. If you understand the essence of it, you will have the ...

  4. MySQL下创建数据库以及授权用户

    一.新建数据库 1.首先登录MySQL:(输入 mysql -u root -p 命令,然后输入密码按回车即可) 2.在mysql> 下输入如下命令,回车,即可创建数据库 (test为数据库名) ...

  5. docker基础内容讲解

    一.初识docker 1.1 LXC介绍 LXC为LinuX Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提 ...

  6. 不适合使用hadoop来解决的问题

    1.Hadoop能解决的问题必须是可以mapreduce的.一是问题可以拆分,二是子问题必须独立.比如斐波那契数列就不适合. 2.数据结构不满足key-value形式的.比如结构化的数据查询. 3.不 ...

  7. HBase体系架构和集群安装

    大家好,今天分享的是HBase体系架构和HBase集群安装.承接上两篇文章<HBase简介>和<HBase数据模型>,点击回顾这2篇文章,有助于更好地理解本文. 一.HBase ...

  8. C++ 知识回顾总结 -- 指针

    指针是一种特殊类型的变量,用于存储值的地址,因此,指针名表示的是地址.*运算符被成为间接值或解除引用运算符,将其应用于指针,可以得到该地址存储的值. 对指针的理解可以参照以下的例子: #include ...

  9. Java核心技术卷一基础知识-第8章-事件处理-读书笔记

    第8章 事件处理 本章内容: * 事件处理基础 * 动作 * 鼠标事件 * AWT事件继承层次 8.1 事件处理基础 在AWT所知的事件范围内,完全可以控制事件从事件源(event source)例如 ...

  10. HTML页面中插入CSS样式的三种方法

    1. 外部样式 当样式需要应用于很多页面时,外部样式表将是理想的选择.在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观.每个页面使用<link>标签链接到样式表. &l ...