天气超热,感冒了,体温比气温还高,随便写点东西玩玩。
言归正传,System.IO读取文件夹下的所有文件时,我们需要根据文件最后修改时间来排序,以前觉得好难;最近想通了,很简单。写了一个Demo:
using System; using System.Data; using System.IO; namespace FilesSort { public class Class1 { ////// 读取目录 /// private string strDirectory = string.Empty; public Class1(string strDirectory) { this.strDirectory = strDirectory; } ////// 获取文件列表 /// /// public DataRow[] GetFilesList() { if (!System.IO.Directory.Exists(strDirectory)) return (DataRow[])null; DataTable dt = new DataTable(); dt.Columns.Add("Name", typeof(String)); dt.Columns.Add("Length", typeof(Int64)); dt.Columns.Add("LastWriteTime", typeof(DateTime)); DirectoryInfo dir = new DirectoryInfo(strDirectory); FileInfo[] fis = dir.GetFiles(); foreach (FileInfo fi in fis) { DataRow r = dt.NewRow(); r[0] = fi.Name; r[1] = fi.Length; r[2] = fi.LastWriteTime; dt.Rows.Add(r); } return dt.Select("Length>0", "LastWriteTime desc"); } } }