C#遍历本地文件和文件夹内的mp3文件 我自己做了一个播放器,想在“搜索” 按钮事件触发一个搜索本地所有文件和文件夹内的mp3文件放到ListBox内另外在做一个progressBar1显示进度和时间请教大家! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 caozhy 于 2011-03-19 13:42:13 编辑 看错了,应该用 Directory.GetFiles() //获取本地硬盘驱动器 private void loadLogicDiscs() { string[] localDrives = Directory.GetLogicalDrives(); foreach(string eachDrive in localDrives) { try { string[] dirs = Directory.GetDirectories(eachDrive,"*.mp3"); foreach (string dir in dirs) { Console.WriteLine(dir); } } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); }} } 晕,受1楼误导了,我7楼的代码错了一个地方,现修正如下: private void button3_Click(object sender, EventArgs e) { //获取本地硬盘驱动器 string[] localDrives = Directory.GetLogicalDrives(); foreach(string eachDrive in localDrives) { try { string[] dirs = Directory.GetFiles(@eachDrive,"*.exe"); foreach (string dir in dirs) { richTextBox1.Text += dir+"\n"; } } catch (Exception ex) { MessageBox.Show("The process failed: {0}", ex.ToString()); } } } 搞定,自己最好加个多线程,否则文件太多容易卡死界面使程序暂时停止响应 private void button3_Click(object sender, EventArgs e) { //获取本地硬盘驱动器 string[] localDrives = Directory.GetLogicalDrives(); foreach(string eachDrive in localDrives) { try { //获取逻辑驱动器根目录下的所有exe文件。你用的时候改为*.mp3即可,因为exe文件多测试方便 string[] dirs = Directory.GetFiles(@eachDrive, "*.exe"); foreach (string dir in dirs) { richTextBox1.Text += dir + "\n"; } geteachdir(eachDrive); } catch (Exception ex) { MessageBox.Show("The process failed: {0}", ex.ToString()); } } } private void geteachdir(string fatherdir) { string[] dirs = Directory.GetDirectories(fatherdir); foreach (string dir in dirs) { string[] files = Directory.GetFiles(dir, "*.exe"); foreach (string file in files) { richTextBox1.Text += file + "\n"; geteachdir(dir); } } } ButtonA的属性触发器,能否去改变ButtonB的一些属性? C#怎样实现在一个textbox输入数据在另一个textbox中也出现同样的数据 如何创建一个类,使此类只能被实例化一次? C#异步发送多个文件的问题 版本问题 到底有人会么?关于image控件和FileUpload控件联动的问题 怎么样将字符串"123"转换成 “000123” 怎么清除事件的响应函数?? 请教 指针引用问题 使用Linq语句,如何将获取的多条数据放到DataTable中 C# 多线程间传递com接口 C#如何得到API函数的参数,急!!!!!!
//获取本地硬盘驱动器
private void loadLogicDiscs()
{
string[] localDrives = Directory.GetLogicalDrives();
foreach(string eachDrive in localDrives)
{
try
{
string[] dirs = Directory.GetDirectories(eachDrive,"*.mp3");
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
{
//获取本地硬盘驱动器
string[] localDrives = Directory.GetLogicalDrives();
foreach(string eachDrive in localDrives)
{
try
{
string[] dirs = Directory.GetFiles(@eachDrive,"*.exe");
foreach (string dir in dirs)
{
richTextBox1.Text += dir+"\n";
}
}
catch (Exception ex)
{
MessageBox.Show("The process failed: {0}", ex.ToString());
}
}
}
{
//获取本地硬盘驱动器
string[] localDrives = Directory.GetLogicalDrives();
foreach(string eachDrive in localDrives)
{
try
{
//获取逻辑驱动器根目录下的所有exe文件。你用的时候改为*.mp3即可,因为exe文件多测试方便
string[] dirs = Directory.GetFiles(@eachDrive, "*.exe");
foreach (string dir in dirs)
{
richTextBox1.Text += dir + "\n";
}
geteachdir(eachDrive);
}
catch (Exception ex)
{
MessageBox.Show("The process failed: {0}", ex.ToString());
}
}
}
private void geteachdir(string fatherdir)
{
string[] dirs = Directory.GetDirectories(fatherdir);
foreach (string dir in dirs)
{
string[] files = Directory.GetFiles(dir, "*.exe");
foreach (string file in files)
{
richTextBox1.Text += file + "\n";
geteachdir(dir);
}
}
}