DirectoryInfo类 获取他的子文件夹DirectoryInfo和子文件FileInfo信息 遍历 判断是否txt

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/system.io.directoryinfo_members(v=vs.80).aspx看这里 也就要用到:
    GetDirectories  返回当前目录的子目录。  
    GetFiles  返回当前目录的文件列表。
    这里两个方法
      

  2.   


      private void button1_Click(object sender, EventArgs e)
            {
                FindFile("d:\\");
                MessageBox.Show("完成!"); 
            }
            public void FindFile(string dirPath) //指定的目录
           {
                DirectoryInfo Dir=new DirectoryInfo(dirPath);
                try
                {
                    foreach (DirectoryInfo d in Dir.GetDirectories())//查找子目录
                    {
                        FindFile(Dir + d.ToString() + "\\");
                    }
                    foreach (FileInfo f in Dir.GetFiles("*.txt")) //查找文件
                    {
                        listBox1.Items.Add(Dir + f.ToString()); //在listbox中列出所有文本文件
                        appenttxt(Dir + f.ToString(), "d:\\test.txt"); //追加到一个文本文件中        
                       
                    }                
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }            
        }
      //读取内容并追加
         public void appenttxt(string readfile,string writefile)
         {
                StreamReader sr = new StreamReader(readfile);
                string s=sr.ReadToEnd();
                sr.Close(); 
                StreamWriter sw = new StreamWriter(writefile, true);
                sw.Write(s);          
                sw.Close();      }
      

  3.   


    这种代码看着就........
                this.SuspendLayout();
                var listBox = new ListBox();
                listBox.Dock = DockStyle.Fill;
                this.Controls.Add(listBox);
                this.ResumeLayout();
                var files = System.IO.Directory.GetFiles(@"G:\GAME\诛仙3", "*", System.IO.SearchOption.AllDirectories);
                foreach (var file in files) {
                    listBox.Items.Add(file + " | " + System.IO.File.ReadAllText(file));
                }