C# 지정된 폴더의 파일을 수정 시간에 따라 정렬합니다.

2852 단어 Asp.net
string path = "~/Document/Introduction/팀 관리 제도/"            DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath(path));             FileInfo[] Files = dirinfo.GetFiles();             Array.Sort(Files, new FIleLastTimeComparer());//페이지에 최근에 업데이트된 두 파일의 다운로드 링크 for (int i = 0; i < 2; i++) {Literal literal = new Literal ();literal.Text = "; 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 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() 메서드를 사용하여 호출합니다.물론, 창설 시간에 따라 정렬할 수도 있습니다.
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
 

좋은 웹페이지 즐겨찾기