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;
}
查看全文
相关阅读:
CPU
CentOS7 Tomcat 环境部署
CentOS7 NTP 安装配置
CISCO VLAN ACL
ESXI6.0启用 snmp
编译安装 varnish-4.1.2和yum 安装 varnish-4.0.3
CentOS7 安装中文帮助手册
CentOS7 学习笔记
CentOS7 编译安装 nginx-1.10.0
CentOS7 cacti 安装
原文地址:https://www.cnblogs.com/xiaobaigang/p/944769.html
最新文章
形态学滤波(3):使用形态学滤波对图像进行边缘及角点检测.
关于vscode中使用JSX语法出现报错的问题
开发微信小程序中遇到得问题
windows下使用webpack的完美解决方案
深入理解JS防抖与节流
CSS中的BFC详解
JS基础-连续赋值
vue-router的使用
vuex的安装及使用
vue组件数据通信总结全面
热门文章
SSH测试连接远程git仓库的权限
CentOS6.5下通过Thrift使用Python连接操作hive 安装配置记录
CentOS6下配置Spark、Python开发环境记录
Centos sudo命令执行python与普通用户执行python版本不同
错误Uncaught TypeError: $(...).live is not a function(…) jQuery 1.9之后不再支持.live()
【转】jquery笔记之属性选择器 查找以某种条件开头的页面元素
Flask-SocketIO学习笔记
Hive提交的MapReduce任务执行中段挂起(从Running状态跳回为Accepted状态)问题解决记录
CentOS下离线安装Flask及Flask-SocketIO所需组件
使用yum下载rpm安装包
Copyright © 2011-2022 走看看