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;
}
查看全文
相关阅读:
Ionic app 通知在Moto 360 Watch上显示通知(2)
Ionic app 通知在Moto 360 Watch上显示通知(1)
Ionic App ActionSheet布局问题
Ionic 图片延时加载
Ionic app 上传图片之webApi接口
Ionic app升级插件开发
Ionic 添加java原生代码 报support.v4不存在问题
Ionic 中badge的应用
Java 期末复习提纲
win10 + VS2015 + EF6 + MySQL
原文地址:https://www.cnblogs.com/xiaobaigang/p/944769.html
最新文章
bootstrap居中
不安装Oracle数据库使用plsqldevloper
bootstrap table导出功能无效报错Uncaught INVALID_CHARACTER_ERR: DOM Exception 5和导出中文乱码问题
在spring中,C3P0的一些配置(部分)
JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉
ASP.NET 教程(一)
mybatis(4)_二级缓存深入_使用第三方ehcache配置二级缓存
mybatis高级(3)_延迟加载_深度延迟_一级缓存_二级缓存
Jetty简介
oracle 10g将数据导入到指定表空间的步骤
热门文章
was缓存以致web.xml更改无效
WAS部署 -- SRVE0255E: 尚未定义要处理 /snoop 的 Web 组/虚拟主机
在WAS下找不到主机名称的问题
WAS上配置数据源连接失败
修改WSAD的默认工作区(转)
websphere 配置库中已存在应用程序,异常处理
在WAS控制台,环境下添加新的虚拟主机别名
WebSphere Studio Application Developer 5.0 优化设置
Ionic App之国际化(2) json数组的处理
Ionic App之国际化(1)单个参数的处理
Copyright © 2011-2022 走看看