会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
怂
萧佰刚技术博客
博客园
首页
新随笔
联系
管理
订阅
C#查找指定文件夹下指定后缀名的所有文件
C#查找指定文件夹下指定后缀名的所有文件,
用递归的方法解决这类问题
代码一:用ArrayList转化为string[]保存指定后缀名文件 最后Foreach循环输出或绑定
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Text;
using
System.IO;
using
System.Collections.Generic;
public
partial
class
FindTxt : System.Web.UI.Page
{
System.Collections.ArrayList alst;
protected
void
Page_Load(
object
sender, EventArgs e)
{
FindTxt t
=
new
FindTxt();
foreach
(
string
f
in
t.readlist(Server.MapPath(
@"
xiaobaigang
"
)))
//
xiaobaigang为文件夹名称
{
Response.Write(f);
//
this.ListBox1.Items.Add(f);
}
}
public
void
GetFiles(
string
dir)
{
try
{
string
[] files
=
Directory.GetFiles(dir);
//
得到文件
foreach
(
string
file
in
files)
//
循环文件
{
string
exname
=
file.Substring(file.LastIndexOf(
"
.
"
)
+
1
);
//
得到后缀名
//
if (".txt|.aspx".IndexOf(file.Substring(file.LastIndexOf(".") + 1)) > -1)
//
查找.txt .aspx结尾的文件
if
(
"
.txt
"
.IndexOf(file.Substring(file.LastIndexOf(
"
.
"
)
+
1
))
>
-
1
)
//
如果后缀名为.txt文件
{
FileInfo fi
=
new
FileInfo(file);
//
建立FileInfo对象
alst.Add(fi.FullName);
//
把.txt文件全名加人到FileInfo对象
}
}
}
catch
{
}
}
public
string
[] readlist(
string
path)
{
alst
=
new
System.Collections.ArrayList();
//
建立ArrayList对象
GetDirs(path);
//
得到文件夹
return
(
string
[])alst.ToArray(
typeof
(
string
));
//
把ArrayList转化为string[]
}
public
void
GetDirs(
string
d)
//
得到所有文件夹
{
GetFiles(d);
//
得到所有文件夹里面的文件
try
{
string
[] dirs
=
Directory.GetDirectories(d);
foreach
(
string
dir
in
dirs)
{
GetDirs(dir);
//
递归
}
}
catch
{
}
}
}
代码二:用字符串保存指定后缀名的文件,最后用分格符分割成数组,再循环输出或绑定
递归类
using
System;
using
System.Web;
using
System.Security.Cryptography;
using
System.Security.Permissions;
using
System.Text;
using
System.IO;
namespace
TestGetFiles
{
/**/
///
<summary>
///
bsGetFiles 的摘要描述。
///
</summary>
public
class
bsGetFiles
{
public
bsGetFiles()
{
}
private
static
string
result
=
""
;
/**/
///
<summary>
///
得某文件夹下所有的文件
///
</summary>
///
<param name="directory">
文件夹名称
</param>
///
<param name="pattern">
搜寻指类型
</param>
///
<returns></returns>
public
static
string
GetFiles(DirectoryInfo directory,
string
pattern)
{
if
(directory.Exists
||
pattern.Trim()
!=
string
.Empty)
{
foreach
(FileInfo info
in
directory.GetFiles(pattern))
{
result
=
result
+
info.FullName.ToString()
+
"
;
"
;
//
result = result + info.Name.ToString() + ";";
}
foreach
(DirectoryInfo info
in
directory.GetDirectories())
{
GetFiles(info,pattern);
}
}
string
returnString
=
result;
return
returnString;
}
}
}
前台调用代码
private
void
button1_Click(
object
sender, System.EventArgs e)
{
string
file
=
bsGetFiles.GetFiles(
new
DirectoryInfo(
@"
D:\TestGetFiles\TestGetFiles\xiaobaigang
"
),
"
*.txt
"
);
this
.textBox1.Text
=
file;
}
posted on
2007-10-31 19:19
萧佰刚
阅读(
9834
) 评论(
2
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告