C#遍历指定路径下的目录
通过指定路径訪问路径下的文件。在C#的开发中主要利用了Directory类和DirectoryInfo类,简要介绍Directory类中的成员:命名空间
1、CreateDirectory。已重载,用于创建指定路径下的全部文件夹。
2、Delete,删除指定文件夹。
3、Exists,确定给定文件夹是否引用磁盘现有文件夹;说白点就是推断路径是否存在;
4、GetCreationTime,获取文件夹的创建时间和日期;
4、GetCurrentDirectory,获取应用程序的当前文件夹;
5、GetDirectories。获取指定文件夹下子文件夹的名称。返回值是一个字符串数组。
6、GetFiles。获取指定路径下的文件名;
7、GetFileSystemEntries,获取指定路径下全部文件和子文件夹的名称;
8、GetParent。获取指定路径的父文件夹;
9、Move,将文件或文件夹移动到新位置;
(2)简要介绍下DirectoryInfo类的成员:
1、Create,创建指定文件夹;
2、Delete,从路径中删除DirectoryInfo和其内容
3、GetDirectories,获取当前文件夹的子文件夹;
4、GetFiles。获取当前文件夹下的文件列表;返回FileInfo[]类型的数组;
5、MoveTo,将
DirectoryInfo 实例及其内容移动到新路径。
代码实现:
/// <summary>
/// 打开文件
/// </summary>
private void bePath_Click(object sender, EventArgs e)
{
this.MenuList.Nodes.Clear();
FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
folderBrowserDialog.Description = "请选择文件夹:";
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
sPath = folderBrowserDialog.SelectedPath;
} if (!string.IsNullOrEmpty(sPath))
{
this.bePath.Text = sPath;
TreeListNode ParentNode = this.MenuList.AppendNode(new object[] { sPath }, -1);
GetSubFile(sPath, ParentNode);
GetSubRoot(sPath, ParentNode);
}
}
/// <summary>
/// 获取路径的集合
/// </summary>
/// <param name="sPath"></param>
private void GetSubRoot(string sFilePath, TreeListNode ParentNode)
{
if (string.IsNullOrEmpty(sFilePath))
{
return;
} string[] DirectoryList = Directory.GetDirectories(sFilePath);
foreach (string sDirectory in DirectoryList)
{
ParentNode = this.MenuList.AppendNode(new object[] { sDirectory }, ParentNode);
GetSubFile(sDirectory,ParentNode);
GetSubRoot(sDirectory,ParentNode);
}
}
/// <summary>
/// 获取路径下的文件
/// </summary>
/// <param name="sSubRootPath"></param>
/// <param name="ParentNode"></param>
private void GetSubFile(string sSubRootPath, TreeListNode ParentNode)
{
FileInfo[] ArrayileInfo; DirectoryInfo pDirectoryInfo = new DirectoryInfo(sSubRootPath);
ArrayileInfo = pDirectoryInfo.GetFiles("*.");
if (ArrayileInfo.Length < 1)
{
return;
} foreach (FileInfo pFileInfo in ArrayileInfo)
{
string sName = pFileInfo.Name;
MenuList.AppendNode(new object[] { sName }, ParentNode);
}
}
C#遍历指定路径下的目录的更多相关文章
- 【Lua】关于遍历指定路径下所有目录及文件
关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库. 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lf ...
- Python小代码_15_遍历指定路径下的所有文件和文件夹,并格式化输出文件路径文件名和文件夹名,文件大小,修改时间
遍历指定路径下的所有文件和文件夹,并格式化输出文件路径文件名和文件夹名,文件大小,修改时间 import osimport datetime def print_tree(dir_path): for ...
- 指定路径下建立Access数据库并插入数据
今天刚刚开通博客,想要把我这几天完成小任务的过程,记录下来.我从事软件开发的时间不到1年,写的不足之处,还请前辈们多多指教. 上周四也就是2016-04-14号上午,部门领导交给我一个小任务,概括来讲 ...
- Python获取指定路径下所有文件的绝对路径
需求 给出制定目录(路径),获取该目录下所有文件的绝对路径: 实现 方式一: import os def get_file_path_by_name(file_dir): ''' 获取指定路径下所有文 ...
- 初识TypeScript:查找指定路径下的文件按类型生成json
如果开发过node.js的话应该对js(javascript)非常熟悉,TypeScript(以下简称ts)是js的超集. 下面是ts的官网: https://www.tslang.cn/ 1.环境配 ...
- java监控指定路径下文件及文件夹变化
之前用jdk7的WatchService API(java.nio.file包)来做目录下的子文件监控,后改为使用commons-io包.主要有下面几点不同:1. WatchService是采用扫描式 ...
- C#查找指定路径下的所有指定文件,并读取
string path="指定路径"; string filename =“需要查找的文件名.csv"; List<string> lineStringLis ...
- C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名
1.实现把指定文件夹下的所有文件复制到指定路径下 public static void copyFiles(string path) { DirectoryInfo dir = new Directo ...
- java 压缩文件 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件
/** * 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件 * * @param files * 文件数组 * @param strZipName * 压缩文件路径及文件名 * @thr ...
随机推荐
- Log4j官方文档翻译(三、配置)
之前的章节介绍了log4j的核心组件,本章将会通过配置文件介绍一下核心组建的配置. 主要在配置文件中配置log4j的日志级别,定义appender.layout等. log4j.properties是 ...
- P4302 [SCOI2003]字符串折叠
题目描述 折叠的定义如下: 一个字符串可以看成它自身的折叠.记作S = S X(S)是X(X>1)个S连接在一起的串的折叠.记作X(S) = SSSS…S(X个S). 如果A = A’, B = ...
- script error总结
移动端的页面在控制台报出一个script error,通常的原因有一下几点: 1. 脚本引入错误 可能是脚本的地址不对,协议不对(http或https问题),本地host文件绑定的地址不对 2. 方法 ...
- shell script 的简单介绍
一 什么叫shell script (程序化脚本)? shell script 是利用 shell 的功能所写的一个 “程序”(program),这个程序是使用纯文本文件,将一些 shell 的语法与 ...
- Ruby系列教程(附ruby电子书下载)【转】
摘要:http://www.cnblogs.com/dahuzizyd/category/97947.html 关键字:Ruby On Rails ,InstantRails,Windows,入门,教 ...
- .NET设计模式系列文章《转》
原文发布时间为:2008-11-02 -- 来源于本人的百度文章 [由搬家工具导入] http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911 ...
- AVRStudio 6 设置F_CPU时钟频率
具体如下: 1>右键项目属性 2>根据语言选择一下,C或C++
- hdu 6218 Bridge 线段树 set
题目链接 题意 给一个\(2\)x\(n\)的矩阵,每个格子看成一个点,每个格子与相邻的格子间有边.现进行一些加边与删边操作,问每次操作后图中有多少条割边. 思路 参考 https://www.cnb ...
- duilib入门简明教程 -- 界面设计器 DuiDesigner (10) (转)
原文转自:http://www.cnblogs.com/Alberl/p/3343838.html 上一个教程讲解了怎么布局最大化.最小化.关闭按钮,但是如果手动去计算这三个按钮的位置和大小的 ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---33
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: