C#实现对指定文件夹中文件按修改时间排序
2012-10-17 10:20
756 查看
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()方法来对其进行调用。当然,你也可以按创建时间来进行排序。
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()方法来对其进行调用。当然,你也可以按创建时间来进行排序。
相关文章推荐
- C#实现对指定文件夹中文件按修改时间排序
- C#实现对指定文件夹中文件按修改时间排序
- C#.net获取指定文件夹下的所有jpg文件,并按文件创建时间排序
- C#.net获取指定文件夹下的所有jpg文件,并按文件创建时间排序
- C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名
- 利用Dataview实现搜索指定目录下的所有文件,以指定的条件排序(可以按文件名升降序,最后修改时间升降序)
- java实现按照文件的修改时间排序文件夹下的文件
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- 把文件夹下的文件按修改时间先后顺序排序
- C#获取指定路径下文件,并按时间排序
- C# 如何获取某文件夹的文件列表,并按文件的创建时间排序?
- 文件夹拷贝,保留文件修改时间, 按修改时间最新排序
- C#动态修改文件夹名称(FSO实现,不移动文件)
- 文件夹下所有文件按修改时间 排序
- python查找指定文件夹下所有文件并按修改时间倒序排列
- C#文件和文件文件夹按时间、名称排序-顺序与倒序
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- ASP 按修改时间读取文件夹中文件并且排序
- Android基于名称、修改时间、大小实现文件夹排序
- C# 实现文件、文件夹进行排序