C#實現對指定文件夾中文件按修改時間排序


 

string path = "~/Document/Introduction/團隊管理制度/";
            DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath(path));
            FileInfo[] Files = dirinfo.GetFiles();
            Array.Sort<FileInfo>(Files, new FIleLastTimeComparer());

//在頁面上顯示最近更新的兩個文件的下載鏈接
            for (int i = 0; i < 2; i++)
            {
                Literal literal = new Literal();
                literal.Text = "</br>";
                Panel1.Controls.Add(literal);//實現換行顯示
                HyperLink hypelink = new HyperLink();
                hypelink.NavigateUrl = path + Files[i].Name;
                hypelink.Text = Files[i].Name;
                Panel1.Controls.Add(hypelink);

           }

 

public class FIleLastTimeComparer : IComparer<FileInfo>
    {
        public int Compare(FileInfo x, FileInfo y)
        {
            return y.LastWriteTime.CompareTo(x.LastWriteTime);//遞減
          //return x.LastWriteTime.CompareTo(y.LastWriteTime);//遞增
        }
    }

 

 

 

using System.IO;

 
private void button1_Click(object sender, EventArgs e)
{
//DirectoryInfo[] list = new DirectoryInfo(path).GetDirectories();// path:文件夾路徑
DirectoryInfo[] list = new DirectoryInfo(@"D:\軟件").GetDirectories();
Array.Sort<DirectoryInfo>(list, new DirectoryLastTimeComparer());
 
textBox1.Text = list[list.Length - 1].FullName;//文件夾的全路徑以及名字
textBox1.Text = list[list.Length - 1].Name; //文件夾的名字
}
 
private void button2_Click(object sender, EventArgs e)
{
FileInfo[] list = new DirectoryInfo(@"D:\軟件").GetFiles();
Array.Sort<FileInfo>(list, new FIleLastTimeComparer());
 
textBox1.Text = list[list.Length - 1].FullName;//文件的全路徑以及名字
textBox1.Text = list[list.Length - 1].Name; //文件的名字
 
}
 
}
 
//文件夾中按時間排序最新的文件讀取
public class DirectoryLastTimeComparer : IComparer<DirectoryInfo>
{
#region IComparer<DirectoryInfo> 成員
 
public int Compare(DirectoryInfo x, DirectoryInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
//依名稱排序
//return x.FullName.CompareTo(y.FullName);//遞增
//return y.FullName.CompareTo(x.FullName);//遞減
 
//依修改日期排序
//return x.LastWriteTime.CompareTo(y.LastWriteTime);//遞增
//return y.LastWriteTime.CompareTo(x.LastWriteTime);//遞減
}
 
#endregion
}
 
//文件夾中按時間排序最新的文件讀取
public class FIleLastTimeComparer : IComparer<FileInfo>
{
#region IComparer<FileInfo> 成員
 
public int Compare(FileInfo x, FileInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
}
 
#endregion
}

就可以使用Array.Sort()方法來對其進行調用。當然,你也可以按創建時間來進行排序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM