Form1.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace WindowsFormsIODirectoryInfoDemo
  12. {
  13. public partial class Form1 : Form
  14. {
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19. private void button1_Click(object sender, EventArgs e)
  20. {
  21. //清空ListView控件,以便存入新的信息
  22. listView1.Items.Clear();
  23. //确定选择了某一个指定的文件夹
  24. if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
  25. {
  26. //获取选中文件夹的路径,显示到textBox1中
  27. textBox1.Text = folderBrowserDialog1.SelectedPath;
  28. //实例化DirectoryInfo对象
  29. DirectoryInfo dinfo = new DirectoryInfo(textBox1.Text);
  30. //获取指定目录下的所有子目录及文件类型
  31. FileSystemInfo[] fsinfos = dinfo.GetFileSystemInfos();
  32. foreach (FileSystemInfo fsinfo in fsinfos)
  33. {
  34. if (fsinfo is DirectoryInfo) //判断是否文件夹
  35. {
  36. //使用获取的文件夹名称实例化DirectoryInfo对象
  37. DirectoryInfo dirinfo = new DirectoryInfo(fsinfo.FullName);
  38. //为ListView控件添加文件夹信息
  39. listView1.Items.Add(dirinfo.Name);
  40. listView1.Items[listView1.Items.Count - 1].SubItems.Add(dirinfo.FullName);
  41. listView1.Items[listView1.Items.Count - 1].SubItems.Add("");
  42. listView1.Items[listView1.Items.Count - 1].SubItems.Add(dirinfo.CreationTime.ToShortDateString());
  43. }
  44. else
  45. {
  46. //使用获取的文件名称实例化FileInfo对象
  47. //FullName指的是完整名称,包括路径和当前对象的名称
  48. FileInfo finfo = new FileInfo(fsinfo.FullName);
  49. //为ListView控件添加文件信息
  50. //Name指的是文件自身的名称
  51. listView1.Items.Add(finfo.Name);
  52. listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.FullName);
  53. listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.Length.ToString());
  54. listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.CreationTime.ToShortDateString());
  55. }
  56. }
  57. }
  58. }
  59. }
  60. }