//自定义一个结构 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); } }
|