zoukankan
html css js c++ java
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;
}
查看全文
相关阅读:
fla使用as文件
软件测试职业发展之路的反思(转)
java 关键字
卖空大师”:中国经济构造畸形 坚决卖空中国
Cumulative Update package 3 for SQL Server 2008 R2
tt
javadoc
as3程序主类,执行顺序
AS3 (25) 处理声音
10个励志小故事
原文地址:https://www.cnblogs.com/xiaobaigang/p/944769.html
最新文章
HDU 3333 Turing Tree(树状数组+离线处理+离散化)
Codeforces Round #174 (Div. 1) B. Cow Program(动态规划+记忆化搜索)
2013 UESTC ACM Training for Data Structure
Codeforces Round #179 (Div. 1) C. Greg and Friends(BFS 或者最短路)
CodeForces Manthan 2011 D. Optical Experiment(动态规划)
HDU 4288 Coder(线段树+离线处理+离散化)
Virtual Audio Cable正确使用方式
全球首发基于.NET 6长线支持Zoomla!逐浪CMS v8.6.0正式发布
代码编辑器vue2aceedit
webpack资源优化,持续更新中...
热门文章
把Extjs4.2 API配置到本地 P利
Java 完美判断中文字符
转 Flash Builder 4.6 注释字体修改
Java 位运算和逻辑运算的区别
java 枚举类
李开复写给女儿的一封信
AS3 (1) 基本点
Java 位运算(移位、位与、或、异或、非)
Web服务器与应用服务器
java equals方法
Copyright © 2011-2022 走看看