ASP.NET利用GetFiles取得目錄檔案清單,結合Array.Sort來排序檔案列表順序

最近在討論區看到"檔案列表順序"的問題...

小弟去找到一個不錯的方法..分享給大家呀..

asp.net(c#)

SortFileList.aspx

 

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SortFileList.aspx.cs" Inherits="SortFileList" %>  
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4. <html xmlns="http://www.w3.org/1999/xhtml">  
  5. <head runat="server">  
  6.     <title>SortFileList</title>  
  7. </head>  
  8. <body>  
  9.     <form id="form1" runat="server">  
  10.         <div>  
  11.         </div>  
  12.     </form>  
  13. </body>  
  14. </html>  

 

SortFileList.aspx.cs

 

  1. using System;   
  2. using System.Data;   
  3. using System.Configuration;   
  4. using System.Collections;   
  5. using System.Web;   
  6. using System.Web.Security;   
  7. using System.Web.UI;   
  8. using System.Web.UI.WebControls;   
  9. using System.Web.UI.WebControls.WebParts;   
  10. using System.Web.UI.HtmlControls;   
  11. using System.IO;   
  12.   
  13. public partial class SortFileList : System.Web.UI.Page   
  14. {   
  15.     protected void Page_Load(object sender, EventArgs e)   
  16.     {   
  17.         DirectoryInfo dirinfo = new DirectoryInfo(MapPath("~"));   
  18.         FileInfo[] sortList = dirinfo.GetFiles();   
  19.         Array.Sort(sortList, new MyDateSorter());   
  20.   
  21.         foreach (FileInfo item in sortList)   
  22.         {   
  23.             Response.Write(item.FullName + "<br" + " />");   
  24.         }   
  25.     }   
  26. }   
  27.   
  28. public class MyDateSorter : IComparer   
  29. {  
  30.     #region IComparer Members   
  31.     public int Compare(object x, object y)   
  32.     {   
  33.         if (x == null && y == null)   
  34.         {   
  35.             return 0;   
  36.         }   
  37.         if (x == null)   
  38.         {   
  39.             return -1;   
  40.         }   
  41.         if (y == null)   
  42.         {   
  43.             return 1;   
  44.         }   
  45.         FileInfo xInfo = (FileInfo)x;   
  46.         FileInfo yInfo = (FileInfo)y;   
  47.   
  48.   
  49.         //依名稱排序   
  50.         return xInfo.FullName.CompareTo(yInfo.FullName);//遞增   
  51.         //return yInfo.FullName.CompareTo(xInfo.FullName);//遞減   
  52.   
  53.         //依修改日期排序   
  54.         //return xInfo.LastWriteTime.CompareTo(yInfo.LastWriteTime);//遞增   
  55.         //return yInfo.LastWriteTime.CompareTo(xInfo.LastWriteTime);//遞減   
  56.     }  
  57.     #endregion   
  58. }  

 

執行結果:(依名稱遞增排序)

參考網址:http://forums.asp.net/p/84867/84867.aspx

 

 

引用URL

http://www.dotblogs.com.tw/puma/archive/2008/08/07/4834.aspx   複製網址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值