技术文档
编程杂记
友情链接
技术文档 >ASP.NET >
文件按时间排序(FileInfo)
2008-8-19 8:47:11 浏览/评论:23/0
System.IO读取文件夹下的所有文件时,我们需要根据文件最后修改时间来排序,以前觉得好难;最近想通了,很简单。写了一个Demo:
using System;- using System.Data;
- using System.IO;
- namespace FilesSort
- {
- public class Class1
- {
- /// <SUMMARY>
- /// 读取目录
- /// </SUMMARY>
- private string strDirectory = string.Empty;
- public Class1(string strDirectory) {
- this.strDirectory = strDirectory;
- }
- /// <SUMMARY>
- /// 获取文件列表
- /// </SUMMARY>
- /// <RETURNS></RETURNS>
- 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");
- }
- }
- }
- <PRE></PRE>
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");}}}