怎样有选择地获取某个目录下的某些类型文件? 多次调用GetFiles,每次取一样不就行了,没别的办法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DirectoryInfo di = new DirectoryInfo("c:\\");FileInfo[] fiArr = di.GetFiles();foreach (FileInfo fri in fiArr){//过虑://if(扩展名字是mp3或者avi等)label1.Text+=(fri.Name);} DirectoryInfo di = new DirectoryInfo("c:\\");FileInfo[] fiArr = di.GetFiles();foreach (FileInfo fri in fiArr){//过虑:if(fri.Extension == ".mp3" || fri.Extension == ".avi")label1.Text+=(fri.Name);} 获取某一种类型可以这样:FileInfo [] strfile=dir.GetFiles("*.mp3");能不能在此处获取多种类型?我的原来的代码如下:DirectoryInfo dir=new DirectoryInfo("C:\\");FileInfo [] strfile=dir.GetFiles();int i=strfile.Length;Random ro=new Random(unchecked((int)DateTime.Now.Ticks));int re=ro.Next(0,i);因为我要随机选取文件。 dir.GetFiles("*.mp3"); 这样的用法就可以但不能指定多个,不过允许使用通配符,比如 dir.GetFiles("*.mp?");然后你可以根据strfile[i].Extension 来确定 System.IO.DirectoryInfo dirInfo=new System.IO.DirectoryInfo("F:\\");Object[] oFileInfo=this.GetFileInfo(dirInfo,"*.mp3|*.pdf|*.rar");for(int i=0;i<oFileInfo.Length;i++){ System.Console.Out.WriteLine(((System.IO.FileInfo)oFileInfo[i]).Name);}public Object[] GetFileInfo(System.IO.DirectoryInfo dirInfo,string sSearchPattern){ string[] sSearch=sSearchPattern.Split('|'); System.Collections.ArrayList al=new System.Collections.ArrayList(); System.IO.FileInfo[] fiTemp=null; for(int i=0;i<sSearch.Length;i++) { fiTemp=dirInfo.GetFiles(sSearch[i].ToString()); al.AddRange(fiTemp); } return al.ToArray();} to chinchy(人民需要人民币) :((System.IO.FileInfo)oFileInfo[i]).Name出现错误:“object”并不包含对“Name”的定义 to chinchy(人民需要人民币) :不好意思,我写错了。((System.IO.FileInfo)oFileInfo[i]).Name我写成了(System.IO.FileInfo)oFileInfo[i].Name 谢谢!已经搞定!不过,((System.IO.FileInfo)oFileInfo[i]).Name应该为((System.IO.FileInfo)oFileInfo[i]).FullName要不然文件路径显示为当前程序的路径。 怎么让子线程结束后继续主线程? c#中所有异常都不强制try/catch吗? May 05 08:24:23 2011转化成datetime类型 C# 更新数据库 标准表达式中数据类型不匹配 面向对象的菜鸟问题 dataGridView 中的列能自动适应大小吗?winform中控件如何设定相对位置? 怎样调用1个登陆页面而不用输入用户名和密码,在线等..... C# 中的作用有哪些, C#多行匹配 子类实例化时,如何做不会调用父类的构造函数? 我循环生产控件数组后怎么访问不了??? 请问c#有没有类库参考手册?100分伺候
FileInfo[] fiArr = di.GetFiles();
foreach (FileInfo fri in fiArr)
{
//过虑:
//if(扩展名字是mp3或者avi等)
label1.Text+=(fri.Name);
}
FileInfo[] fiArr = di.GetFiles();
foreach (FileInfo fri in fiArr)
{
//过虑:
if(fri.Extension == ".mp3" || fri.Extension == ".avi")
label1.Text+=(fri.Name);
}
FileInfo [] strfile=dir.GetFiles("*.mp3");能不能在此处获取多种类型?我的原来的代码如下:
DirectoryInfo dir=new DirectoryInfo("C:\\");
FileInfo [] strfile=dir.GetFiles();
int i=strfile.Length;
Random ro=new Random(unchecked((int)DateTime.Now.Ticks));
int re=ro.Next(0,i);
因为我要随机选取文件。
Object[] oFileInfo=this.GetFileInfo(dirInfo,"*.mp3|*.pdf|*.rar");
for(int i=0;i<oFileInfo.Length;i++)
{
System.Console.Out.WriteLine(((System.IO.FileInfo)oFileInfo[i]).Name);
}public Object[] GetFileInfo(System.IO.DirectoryInfo dirInfo,string sSearchPattern)
{
string[] sSearch=sSearchPattern.Split('|');
System.Collections.ArrayList al=new System.Collections.ArrayList();
System.IO.FileInfo[] fiTemp=null;
for(int i=0;i<sSearch.Length;i++)
{
fiTemp=dirInfo.GetFiles(sSearch[i].ToString());
al.AddRange(fiTemp);
}
return al.ToArray();
}
出现错误:“object”并不包含对“Name”的定义
不好意思,我写错了。((System.IO.FileInfo)oFileInfo[i]).Name
我写成了(System.IO.FileInfo)oFileInfo[i].Name
不过,
((System.IO.FileInfo)oFileInfo[i]).Name
应该为((System.IO.FileInfo)oFileInfo[i]).FullName要不然文件路径显示为当前程序的路径。