日期:2014-05-18 浏览次数:20857 次
//using System.IO;
private void ListFolderFiles(DirectoryInfo dirinfo)
{
FileSystemInfo[] files = dirinfo.GetFileSystemInfos ("*.jpg ");
Dictionary<string, int> dic = new Dictionary<string, int>();
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
string key = file.Name.Substring(0, file.Name.LastIndexOf('.')-1);
if (!dic.ContainsKey(key))
{
dic.Add(key, 1);
}
else
{
dic[key] += 1;
}
}
for (int i = files.Length - 1; i >= 0; i--)
{
FileInfo file = files[i] as FileInfo;
if (dic[file.Name.Substring(0, file.Name.LastIndexOf('.') - 1)] < 3)
{
files[i].Delete();
}
else
{
MessageBox.Show(file.Name);
}
}
}
//调用(假如操作C:\pic目录下的jpg文件)
DirectoryInfo c = new DirectoryInfo("c:\\pic ");
ListFolderFiles(c);
------解决方案--------------------
如果文件不多的话,将文件名读到容器(例如List)中,想怎么折腾怎么折腾。
------解决方案--------------------
这个应该是考C#语法了。。。拆分文件名,呵呵
------解决方案--------------------
一楼的可以。。。
------解决方案--------------------
用一楼的方法就可以实现了
------解决方案--------------------
先按一楼的删除不合格的,然后把“MessageBox.Show(file.Name)”这句换成,将文件名放到arraylist中的语句,然后给他排序,然后用嵌套循环输出。
------解决方案--------------------
1L很厉害啊.mark下