技术文档 >ASP.NET >

文件按时间排序(FileInfo)

作者:shenjk 2008-8-19 8:47:11 浏览/评论:23/0

System.IO读取文件夹下的所有文件时,我们需要根据文件最后修改时间来排序,以前觉得好难;最近想通了,很简单。写了一个Demo:

using System;   

  1. using System.Data;   
  2. using System.IO;   
  3.   
  4. namespace FilesSort   
  5. {   
  6.     public class Class1   
  7.     {   
  8.         /// <SUMMARY>   
  9.         /// 读取目录   
  10.         /// </SUMMARY>   
  11.         private string strDirectory = string.Empty;   
  12.   
  13.         public Class1(string strDirectory) {   
  14.             this.strDirectory = strDirectory;   
  15.         }   
  16.         /// <SUMMARY>   
  17.         /// 获取文件列表   
  18.         /// </SUMMARY>   
  19.         /// <RETURNS></RETURNS>   
  20.         public DataRow[] GetFilesList()   
  21.         {   
  22.             if (!System.IO.Directory.Exists(strDirectory))   
  23.                 return (DataRow[])null;   
  24.             DataTable dt = new DataTable();   
  25.             dt.Columns.Add("Name"typeof(String));   
  26.             dt.Columns.Add("Length"typeof(Int64));   
  27.             dt.Columns.Add("LastWriteTime"typeof(DateTime));   
  28.             DirectoryInfo dir = new DirectoryInfo(strDirectory);   
  29.             FileInfo[] fis = dir.GetFiles();   
  30.             foreach (FileInfo fi in fis) {   
  31.                 DataRow r = dt.NewRow();   
  32.                 r[0] = fi.Name;   
  33.                 r[1] = fi.Length;   
  34.                 r[2] = fi.LastWriteTime;   
  35.                 dt.Rows.Add(r);   
  36.             }   
  37.             return dt.Select("Length>0""LastWriteTime desc");   
  38.         }   
  39.     }   
  40. }   
  41. <PRE></PRE>  

我来说几句:

主题:
作者:
内容: