GetFiles()の後、ファイルを指定した方法で並べ替えます.
原文C#キーコード部分
私が使っているのはVBに変更しました.NETバージョン:
クラスのソート:
public partial class SortFileList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DirectoryInfo dirinfo = new DirectoryInfo(MapPath("~"));
FileInfo[] sortList = dirinfo.GetFiles();
Array.Sort(sortList, new MyDateSorter());
foreach (FileInfo item in sortList)
{
Response.Write(item.FullName + "<br" + " />");
}
}
}
public class MyDateSorter : IComparer
{
#region IComparer Members
public int Compare(object x, object y)
{
if (x == null && y == null)
{
return 0;
}
if (x == null)
{
return -1;
}
if (y == null)
{
return 1;
}
FileInfo xInfo = (FileInfo)x;
FileInfo yInfo = (FileInfo)y;
//
return xInfo.FullName.CompareTo(yInfo.FullName);//
//return yInfo.FullName.CompareTo(xInfo.FullName);//
//
//return xInfo.LastWriteTime.CompareTo(yInfo.LastWriteTime);//
//return yInfo.LastWriteTime.CompareTo(xInfo.LastWriteTime);//
}
#endregion
}
私が使っているのはVBに変更しました.NETバージョン:
Dim dir As New DirectoryInfo(SavePath)
Dim Files() As FileInfo
Files = dir.GetFiles("*.sql")
Array.Sort(Files, New MyDateSorter())
Dim f As FileInfo
For Each f In Files
Html_Rec = "<tr align=""center"" >"
Html_Rec &= String.Format("<td>{0}</td><td>{1}</td><td>{2}</td><td><input name=""addkc"" type=""button"" class=""an"" id=""restore"" onclick=""restore('{3}','{4}')"" value="" "" /> <input name=""addkc"" type=""button"" class=""an"" id=""del"" onclick=""del('{5}','{6}')"" value="" "" /></td>", i, f.CreationTime, f.Name, f.CreationTime, f.Name, f.CreationTime, f.Name)
Html_Rec &= " </tr>"
Html.Append(Html_Rec)
i += 1
Next
Html.Append("</table>")
クラスのソート:
Public Class MyDateSorter
Implements IComparer
Public Function Compare(x As Object, y As Object) As Integer Implements System.Collections.IComparer.Compare
If x Is Nothing AndAlso y Is Nothing Then
Return 0
End If
If x Is Nothing Then
Return -1
End If
If y Is Nothing Then
Return 1
End If
Dim xInfo As FileInfo = DirectCast(x, FileInfo)
Dim yInfo As FileInfo = DirectCast(y, FileInfo)
'
'Return xInfo.FullName.CompareTo(yInfo.FullName)
'
'return yInfo.FullName.CompareTo(xInfo.FullName);//
'
Return xInfo.LastWriteTime.CompareTo(yInfo.LastWriteTime) '
'return yInfo.LastWriteTime.CompareTo(xInfo.LastWriteTime) '
End Function
End Class