C# 지정된 폴더의 파일을 수정 시간에 따라 정렬합니다.
2852 단어 Asp.net
}
public class FileLast Time Comparer: IComparer {public int Compare(FileInfo x, FileInfoy) {return y.LastWrite Time.CompareTo(x.LastWrite Time);//체감//return x.LastWrite Time.CompareTo(y.LastWrite Time);//점증}
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 Directory Info(@ "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() 메서드를 사용하여 호출합니다.물론, 창설 시간에 따라 정렬할 수도 있습니다.