C#.net获取指定文件夹下的所有jpg文件,并按文件创建时间排序

来源:互联网 发布:淘宝 段位证书 编辑:程序博客网 时间:2024/06/05 08:59

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