递归算法--遍历指定目录下的子目录及文件(C#.net)
来源:互联网 发布:知乎匿名 编辑:程序博客网 时间:2024/05/21 20:28
//递归算法--遍历指定目录下的子目录及文件(C#.net),希望有用,顺带数据入库
private void button1_Click(object sender, System.EventArgs e)
{
Conn.Open();
displayItems(textBox1.Text);
//MessageBox.Show(dirs.Length.ToString());
Conn.Close();
}
/*这里是递归算法的遍历程序部分*/
private void displayItems(string path)
{
try
{
DirectoryInfo di=new DirectoryInfo(path);
FileInfo[] SubFiles=di.GetFiles();
FileSystemInfo[] dirs = di.GetDirectories();
foreach(FileInfo fileNext in SubFiles)
{
/*-----------------------------------------------------------------------------------------------------*/
string path_total=path + "/" +fileNext.ToString();
int path_start=path_total.IndexOf("/")+1;
int path_end=path_total.LastIndexOf("/");
string path_name;
if(path_start-1==path_end)
{
path_name="";
}
else
{
path_name=path.Substring(path_start,path_end-path_start);
}
switch(path_start.ToString())
{
case "....":
break;
}
/*-----------------------------------------------------------------------------------------------------*/
string sql="insert into pic_data(pic_name,pic_path,pic_time) values(’"+ fileNext.ToString() +"’,’"+ path_name +"’,’"+ DateTime.Now.ToString() +"’)";
SqlCommand Cmd=new SqlCommand(sql,Conn);
if(checkBox_insertdb.Checked==true)
Cmd.ExecuteNonQuery();
richTextBox1.Text=richTextBox1.Text + "/r/n" + path + "/" +fileNext.ToString() + " ("+sql+")";
}
foreach(DirectoryInfo diNext in dirs)
{
displayItems(path + "/" + diNext.ToString());
}
}
catch(Exception ex)
{
richTextBox1.Text=ex.Message +"/r/n"+ richTextBox1.Text;
}
}
}
原文:http://www.cnblogs.com/dingdayi/archive/2007/05/15/747641.html
private void button1_Click(object sender, System.EventArgs e)
{
Conn.Open();
displayItems(textBox1.Text);
//MessageBox.Show(dirs.Length.ToString());
Conn.Close();
}
/*这里是递归算法的遍历程序部分*/
private void displayItems(string path)
{
try
{
DirectoryInfo di=new DirectoryInfo(path);
FileInfo[] SubFiles=di.GetFiles();
FileSystemInfo[] dirs = di.GetDirectories();
foreach(FileInfo fileNext in SubFiles)
{
/*-----------------------------------------------------------------------------------------------------*/
string path_total=path + "/" +fileNext.ToString();
int path_start=path_total.IndexOf("/")+1;
int path_end=path_total.LastIndexOf("/");
string path_name;
if(path_start-1==path_end)
{
path_name="";
}
else
{
path_name=path.Substring(path_start,path_end-path_start);
}
switch(path_start.ToString())
{
case "....":
break;
}
/*-----------------------------------------------------------------------------------------------------*/
string sql="insert into pic_data(pic_name,pic_path,pic_time) values(’"+ fileNext.ToString() +"’,’"+ path_name +"’,’"+ DateTime.Now.ToString() +"’)";
SqlCommand Cmd=new SqlCommand(sql,Conn);
if(checkBox_insertdb.Checked==true)
Cmd.ExecuteNonQuery();
richTextBox1.Text=richTextBox1.Text + "/r/n" + path + "/" +fileNext.ToString() + " ("+sql+")";
}
foreach(DirectoryInfo diNext in dirs)
{
displayItems(path + "/" + diNext.ToString());
}
}
catch(Exception ex)
{
richTextBox1.Text=ex.Message +"/r/n"+ richTextBox1.Text;
}
}
}
- 递归算法--遍历指定目录下的子目录及文件(C#.net)
- C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)
- C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)
- Java 遍历指定目录及子目录下的文件
- [Windowns C]递归遍历指定目录下的子目录和文件
- [Linux C]递归遍历指定目录下的子目录和文件
- 遍历某一个指定目录下的所有子目录和文件(递归)
- 遍历指定目录下的所有文件和目录, 以及子目录下的文件和目录
- 删除目录及子目录下指定的文件
- java遍历目录及子目录下的文件
- Shell编程:在当前目录下遍历所有文件和子目录及子目录下的文件
- linux显示指定目录下所有的文件,子目录及子目录的文件
- 删除目录及子目录的递归算法
- javase——递归获取指定目录下(包括子目录)指定后缀的文件的文件名
- MFC遍历指定目录下的所有文件/文件夹(不遍历子目录)
- 源码--删除指定目录下(包含子目录)的文件
- 查找指定目录下的特定文件 (包括子目录)
- 递归扫描目录下的文件(包含子目录)
- 测试计划模板
- 五种提高 SQL 性能的方法
- 如何用NextInstaller做web安装盘
- 测试用例介绍
- Serv-U提权之CMD下提权命令
- 递归算法--遍历指定目录下的子目录及文件(C#.net)
- 基本测试方法
- 用TestDirector生成的测试用例
- 用TestDirector生成的测试用例
- Knoppix实战
- 探究 Web 页面之间的可视化关系
- 资料下载
- 直方图我的算法
- ActiveMQ 启动Broker