//自定义一个结构
public struct sFileInfo
{
public string FileName;
public DateTime FileCreateTime;
}
protected void Page_Load(object sender, EventArgs e)
DirectoryInfo d = new DirectoryInfo(Server.MapPath("~/"));
//根椐指定文件夹下的jpg文件数目,获取数组的长度 n
int n = 0;
foreach (FileInfo _f in d.GetFiles())
{
if (_f.Name.Substring(_f.Name.Length - 3, 3) == "jpg")
//注意:这里只是简单的判断名称的后三位,也就是说文件的扩展名是区分大小写
{
n++;
}
}
//定义数组 并对数组进行赋值
sFileInfo[] ArrFiles = new sFileInfo[n];
int i = 0;
foreach (FileInfo _f in d.GetFiles())
{
if (_f.Name.Substring(_f.Name.Length - 3, 3) == "jpg")
{
ArrFiles[i].FileName = _f.Name;
ArrFiles[i].FileCreateTime = _f.CreationTime;
i++;
}
}
//对数组根椐文件创建时间进行冒泡排序
sFileInfo FileInfoTemp;
for (int k = 0; k < n; k++)
{
for (int j = k + 1; j < n; j++)
{
if (DateTime.Compare(ArrFiles[k].FileCreateTime, ArrFiles[j].FileCreateTime) < 0)
{
FileInfoTemp = ArrFiles[k];
ArrFiles[k] = ArrFiles[j];
ArrFiles[j] = FileInfoTemp;
}
}
}
//显示文件
for (int j = 0; j <n ; j++
{
Response.Write("<br>文件名称:" ArrFiles[j].FileName +" 创建时间:"+ArrFiles[j].FileCreateTime);
}
}