会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
雪美·考拉
傲雪之美,考拉之憨。
博客园
首页
新随笔
联系
订阅
管理
C#实现目标路径下文件递归的类
using
System;
using
System.IO;
using
System.Collections;
namespace
DSclub
{
/**/
///
<summary>
///
DirList 的摘要说明。
///
</summary>
public
class
DirList
{
private
string
strInitFilePath;
private
bool
bFatchAll;
//
构造函数
public
DirList()
{
bFatchAll
=
false
;
strInitFilePath
=
"
C:\\
"
;
}
public
DirList(
string
strFilePath)
{
bFatchAll
=
false
;
strInitFilePath
=
strFilePath;
}
//
是否递归出所有的文件
public
bool
RecursionFiles
{
get
{
return
bFatchAll;
}
set
{
bFatchAll
=
value;
}
}
//
取得文件的函数
public
ArrayList GetFiles()
{
return
GetFiles(strInitFilePath, bFatchAll);
}
public
static
ArrayList GetFiles(
string
strPath,
bool
ResultsAll)
{
ArrayList al
=
new
ArrayList();
//
判断路径是否存在
if
(
!
Directory.Exists(strPath))
{
throw
(
new
ApplicationException(
"
访问的路径
"
+
strPath
+
"
不存在,或者它不是个文件夹。
"
));
}
string
[] temp
=
Directory.GetFiles(strPath);
foreach
(
string
aFile
in
temp)
{
al.Add(aFile);
}
//
如果此目录下不存在文件,则把文件夹路径返回,并用
//
/作标识
if
(temp.Length
==
0
)
{
al.Add(
"
///
"
+
strPath);
}
if
(ResultsAll)
{
temp
=
Directory.GetDirectories(strPath);
foreach
(
string
aDir
in
temp)
{
al.AddRange(GetFiles(aDir, ResultsAll));
}
}
return
al;
}
}
}
其中关于应该有系统文件的检查,还有用户不可访问系统文件夹的判断,但是这个项目中用不上,又不想用Try块儿影响效率。
还是递归的思想!
posted on
2005-05-17 15:32
雪美·考拉
阅读(
936
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部