C#インプリメンテーション指定したフォルダ内のファイルを変更時間で並べ替える
2802 ワード
string path="~/document/introduction/チーム管理制度/"; DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath(path)); FileInfo[] Files = dirinfo.GetFiles(); Array.Sort(Files, new FIleLastTimeComparer());//ページに最近更新された2つのファイルのダウンロードリンクfor(int i=0;i<2;i+){Literal literal=new Literal();literal.Text=";Panel 1.controls.Add(literal);//改行表示HyperLink=new HyperLink()を表示する; hypelink.NavigateUrl = path + Files[i].Name; hypelink.Text = Files[i].Name; Panel1.Controls.Add(hypelink);
}
public class FIleLastTimeComparer:IComparer{public int Compare(FileInfo x,FileInfo y){returny.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:フォルダパス
Directory Info[]list=new Directory Info(@"D:ソフトウェア").GetDirectories();
Array.Sort(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(list, new FIleLastTimeComparer());
textBox1.Text = list[list.Length - 1].FullName;//ファイルのフルパスと名前
textBox1.Text = list[list.Length - 1].Name;//ファイルの名前
}
}
//フォルダで最新のファイル読み込みを時間順に並べ替える
public class DirectoryLastTimeComparer : IComparer
{
#region IComparerメンバー
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
{
#region IComparerメンバー
public int Compare(FileInfo x, FileInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
}
#endregion
}
Arrayを使うことができますSort()メソッドを使用して呼び出します.もちろん、作成時間別にソートすることもできます.
}
public class FIleLastTimeComparer:IComparer{public int Compare(FileInfo x,FileInfo y){returny.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:フォルダパス
Directory Info[]list=new Directory Info(@"D:ソフトウェア").GetDirectories();
Array.Sort(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(list, new FIleLastTimeComparer());
textBox1.Text = list[list.Length - 1].FullName;//ファイルのフルパスと名前
textBox1.Text = list[list.Length - 1].Name;//ファイルの名前
}
}
//フォルダで最新のファイル読み込みを時間順に並べ替える
public class DirectoryLastTimeComparer : IComparer
{
#region IComparerメンバー
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
{
#region IComparerメンバー
public int Compare(FileInfo x, FileInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
}
#endregion
}
Arrayを使うことができますSort()メソッドを使用して呼び出します.もちろん、作成時間別にソートすることもできます.