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

方法一:使用微软提供的方法: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. Exp8 Web基础 20154320 李超

    1.实验后回答问题 (1)什么是表单. 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签.表单域.表单按钮 ...

  2. C# 自动程序 windows 无法启动 XXXX 服务 错误5 拒绝访问

    遇到过两次 这样的问题了,所以记录一下 原因可能是服务所在文件的目录权限不够 解决方法: 1是查看服务对应的程序所在的目录 2是设置目录的安全权限 右击–属性–安全–添加相应的帐号,给予除完全控制外的 ...

  3. dubbo 源码学习1 服务发布机制

    1.源码版本:2.6.1 源码demo中采用的是xml式的发布方式,在dubbo的 DubboNamespaceHandler 中定义了Spring Framework 的扩展标签,即 <dub ...

  4. 'An instance 0x155e74a0 of class UIWebView was deallocated while key value observers were still registered with it.

    在iOS和html混编的时候,当用iOS原生的navigation导航pop回去的时候,出现 *** Terminating app due to uncaught exception 'NSInte ...

  5. Redis-05.主从复制与Sentinel

    主从复制(master/slave) 主机(master)数据更新后根据配置和策略,自动同步到备机(slave).通过主从复制,能够实现读写分离.容灾恢复. 实现主从复制非常简单,只需要在从(slav ...

  6. Openvswitch手册(5): VLAN and Bonding

    我们这一节来看Port 一般来说一个Port就是一个Interface,当然也有一个Port对应多个Interface的情况,成为Bond VLAN Configuration Port的一个重要的方 ...

  7. war和war exploded区别

    war和war exploded区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式: ...

  8. express使用记录

    express使用记录 文章用啥写?→→ VsCode. 代码用啥写?→→ VsCode. 编辑器下载:VsCode 一.windows下安装node.js环境: 下载地址 相比以前搭过的服务端语言的 ...

  9. nginx安装配置并布置网站

    之前做的网站都是用的apache,关于apache和Nginx的区别也不说了,百度上也都有,而且apche和nginx可以共存,这个之后再说. 首先安装nginx,我用的云主机,直接用yum安装 #y ...

  10. VMware虚拟机磁盘操作占用过高问题

    使用虚拟机运行Linux图形桌面时,经常因为一个网页或者编译某个程序就导致虚拟机卡死,甚至影响主机使用.明明主机内存有8G,分配给虚拟机的内存也不少,为什么就这么卡顿.打开主机上的任务管理器查看发现磁 ...