C#遍历目录下的所有文件夹
来源:互联网 发布:老舍的人品 知乎 编辑:程序博客网 时间:2024/04/20 00:25
//这个是网上转的 上一个也是仿照这个改的 同样是win32控制台程序 学习!
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace TestFileInfo
{
class Program
{
static void Main(string[] args)
{
string pathNames=null;
do
{
Console.Write("请输入目录路径名(输入x退出程序):");
pathNames = Console.ReadLine();
if ((pathNames == "X") || (pathNames == "x"))
break;
DirectoryInfo dirPath = new DirectoryInfo(pathNames);
CDirectoryInfo dirObject = new CDirectoryInfo();
Console.Write(dirObject.GetDirectoryInfos(dirPath));
Console.WriteLine("______________________________________________________/n");
//dirObject.pathNameProp = null;
//Console.Write(dirObject.GetDirectoryInfos(pathNames));
//Console.WriteLine("_____________________________________________________");
}
while (true);//((pathName == "X") || (pathName == "x"));
Console.Write("/n程序已终止,按任意键退出程序!");
Console.ReadKey();
}
}
class CDirectoryInfo
{
string pathName=null;
public string pathNameProp
{
set
{
pathName = value;
}
get
{
return pathName;
}
}
/// <summary>
/// 遍历核心代码
/// </summary>
/// <param name="fatherDir"></param>
/// <returns></returns>
public string GetDirectoryInfos(DirectoryInfo fatherDir)
{
try
{
DirectoryInfo[] childDir = fatherDir.GetDirectories();
if (childDir.Length == 0) //如果已无下层目录,则将当前目录的完整路径加入到pathName变量中
return pathName += fatherDir.FullName + "/n";
else
{
for (int i = 0; i < childDir.Length; i++) //如果有下层目录,则递归每一个下层目录,且在第一次循环时
{ //将当前目录的完整路径加入到pathName变量中加入
if (i == 0)
pathName += fatherDir.FullName + "/n";
GetDirectoryInfos(childDir[i]);
}
return pathName;
}
}
catch (DirectoryNotFoundException ex)
{
return "你输入的路径无效,它可能不存在或者该路径拒绝访问。/n相关提示:/n"
+ ex.Message + "/n";
}
catch (UnauthorizedAccessException ex)
{
return "你输入的路径无效,该路径可能拒绝访问。/n相关提示:/n"
+ ex.Message + "/n";
}
}
/// <summary>
/// 遍历文件夹的重载函数
/// </summary>
/// <param name="pathName"></param>
/// <returns></returns>
public string GetDirectoryInfos(string pathName)
{
try
{
DirectoryInfo fatherDir = new DirectoryInfo(pathName);
DirectoryInfo[] childDir = fatherDir.GetDirectories();
if (childDir.Length == 0)
return this.pathName += fatherDir.FullName + "/n";
else
{
for (int i = 0; i < childDir.Length; i++)
{
if (i == 0)
this.pathName += fatherDir.FullName + "/n";
GetDirectoryInfos(childDir[i].FullName);
}
return this.pathName;
}
}
catch (DirectoryNotFoundException ex)
{
return "你输入的路径无效,它可能不存在或者该路径拒绝访问。/n相关提示:/n"
+ ex.Message + "/n";
}
catch (UnauthorizedAccessException ex)
{
return "你输入的路径无效,该路径可能拒绝访问。/n相关提示:/n"
+ ex.Message + "/n";
}
}
}
}
- C#遍历目录下的所有文件夹
- C#遍历目录下的所有文件夹
- C# 遍历目录下所有文件夹下的文件
- C# 遍历目录下所有文件夹下的文件
- 遍历显示文件夹下所有目录、所有文件的函数
- C#遍历一个文件夹下的所有文件夹
- C#遍历文件夹下的所有文件及文件夹
- php遍历一个文件夹下的所有目录及…
- 遍历指定目录下的所有文件夹和文件
- 遍历指定目录下的所有文件及文件夹
- 遍历一个目录下的所有文件和子文件夹
- 遍历某文件夹下的所有文件 C#
- C#遍历一个文件夹下的所有可执行文件
- C#如何遍历出一个文件夹下的所有文件
- c# 中循环遍历所有文件夹下的文件
- Delphi 计算指定目录下所有文件的大小(遍历文件夹所有文件及目录)
- C# 删除指定目录下的 所有指定文件、文件夹
- C# 删除目录下的所有文件及子文件夹
- C#遍历文件夹中的所有文件
- BMP文件结构的探索(转载)-
- VC里平滑地卷动字幕的SetTimer时间设置
- Flex学习笔记:数组元素随机排序
- OllyDBG教程!
- C#遍历目录下的所有文件夹
- snmp是什么?
- SQL Server中, DateTime (日期)型操作的 SQL语法
- 龌龊
- 最近比较烦
- Java Applet 编程技巧实例专辑
- 关于通过Date.getTime()得到1970年01月1日0点零分问题验证
- _T _TEXT的含义
- AWT的标准布局管理器