写东西用到,记录下。 内容是三个按键触发,然后选择目录/文件 获取文件信息存放到listview中。
//Click event of button bt_loadsub private void bt_loadsub_Click(object sender, EventArgs e) { openFileDialog1.Title = "Chose folder"; if (openFileDialog1.ShowDialog() == DialogResult.OK || openFileDialog1.ShowDialog() == DialogResult.Yes) { path = System.IO.Path.GetDirectoryName(openFileDialog1.FileName); //获取目录下文件名 DirectoryInfo folder = new DirectoryInfo(path); foreach (FileInfo item in folder.GetFiles("*"+Path.GetExtension(openFileDialog1.FileName))) { //MessageBox.Show("dictory" + item.Directory + "\n" + item.Name ); //re //string pattern = @"(?<=HB(\d+).jpg-)[A-J]";//http://www.cnblogs.com/stg609/archive/2009/06/03/1492709.html //MatchCollection mc = Regex.Matches(item.Name, pattern); //MessageBox.Show(mc[0].Value); string[] arr = { item.Directory.FullName, item.Name, item.FullName }; listView1.Items.Add(new ListViewItem(arr)); } } } //Click event of button bt_loadAll (sub folder private void bt_loadsubFolder_Click(object sender, EventArgs e) { FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog(); if(folderBrowserDialog1.ShowDialog() == DialogResult.OK || folderBrowserDialog1.ShowDialog() == DialogResult.Yes) { path = folderBrowserDialog1.SelectedPath; //获取所有的子目录 DirectoryInfo di = new DirectoryInfo(path);//https://msdn.microsoft.com/en-us/library/s7xk2b58(v=vs.110).aspx DirectoryInfo[] diArr = di.GetDirectories("*.*", System.IO.SearchOption.AllDirectories);//https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/file-system/how-to-iterate-through-a-directory-tree foreach (DirectoryInfo dir in diArr) { //MessageBox.Show("Test" + dir.Name + " "+ dir.Root + " " + dir.FullName); //dir.FullName 就是目录树下的所有子目录的文件 foreach (FileInfo item in dir.GetFiles(this.tb_fileextension.Text) ) { string[] arr = { item.Directory.FullName, item.Name, item.FullName//mc[0].Value }; listView1.Items.Add(new ListViewItem(arr)); }//foreach }//foreach }//fi }//f //Click event of button bt_loadOne private void bt_loadOne_Click(object sender, EventArgs e) { openFileDialog1.Title = "Chose one"; if(openFileDialog1.ShowDialog() == DialogResult.OK) { FileInfo item = new FileInfo(openFileDialog1.FileName); string[] arr = { item.Directory.FullName, item.Name, item.FullName }; listView1.Items.Add(new ListViewItem(arr)); } }