|
|
递归算法--遍历指定目录下的子目录及文件(C#.net) |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-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; }
} } 
|
|
相关文章:相关软件: |
|