C#文件和文件文件夹按时间、名称排序-顺序与倒序
对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间、按文件名排序。在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常用的排序方法,如快速排序、冒泡排序等。
文件排序的方法也适用于文件夹,只是传递的变量不同。为了便于使用,将分别列出C#文件排序和文件夹排序四种常用方法,分别为:按名称顺序与倒序排序、按时间顺序与倒序。
一、C#文件排序
1、按名称顺序排列
/// <summary>
/// C#按文件名排序(顺序)
/// </summary>
/// <param name="arrFi">待排序数组</param>
private void SortAsFileName(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.Name.CompareTo(y.Name); });
}
调用方法:
private void SortFiles()
{
string filePath = "E:\\";
DirectoryInfo di = new DirectoryInfo(filePath);
FileInfo[] arrFi = di.GetFiles("*.*");
SortAsFileName(ref arrFi);
for (int i = 0; i < arrFi.Length; i++)
Response.Write(arrFi[i].Name + ":<br />");
}
上面的代码是对 E 盘根目录下的所有文件排序,代码测试通过,可直接调用。
2、按名称倒序排列
/// <summary>
/// C#按文件名排序(倒序)
/// </summary>
/// <param name="arrFi">待排序数组</param>
private void SortAsFileName(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.Name.CompareTo(x.Name); });
}
调用方法跟顺序排列一样,就不举例了。
3、按创建时间顺序排列
/// <summary>
/// C#按创建时间排序(顺序)
/// </summary>
/// <param name="arrFi">待排序数组</param>
private void SortAsFileCreationTime(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
}
调用方法与上同。
4、按创建时间倒序排列
/// <summary>
/// C#按创建时间排序(倒序)
/// </summary>
/// <param name="arrFi">待排序数组</param>
private void SortAsFileCreationTime(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
}
调用方法与上同。
二、C#文件夹排序
1、按文件夹名称顺序排列
/// <summary>
/// C#按文件夹名称排序(顺序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>
private void SortAsFolderName(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.Name.CompareTo(y.Name); });
}
调用方法:
private void FolderSort()
{
string filePath = "E:\\";
DirectoryInfo di = new DirectoryInfo(filePath);
DirectoryInfo[] arrDir = di.GetDirectories();
SortAsFolderName(ref arrDir);
for (int i = 0; i < arrDir.Length; i++)
Response.Write(arrDir[i].Name + ":<br />");
}
上述代码是对 E 盘根目录下的所有文件夹按名称顺序排列,代码也通过 Visual studio 2010 测试。
2、按文件夹名称倒序排列
/// <summary>
/// C#按文件夹名称排序(倒序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>
private void SortAsFolderName(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.Name.CompareTo(x.Name); });
}
3、按文件夹创建时间顺序排列
/// <summary>
/// C#按文件夹夹创建时间排序(顺序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>
private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
}
4、按文件夹创建时间倒序排列
/// <summary>
/// C#按文件夹创建时间排序(倒序)
/// </summary>
/// <param name="dirs">待排序文件夹数组</param>
private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
{
Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
}
如果要按文件或文件夹的最后修改时间排序,方法也是一样的,只需把 CreationTime 改为 LastWriteTime 即可。
C#文件和文件文件夹按时间、名称排序-顺序与倒序的更多相关文章
- 数据文件、日志文件、归档文件、控制文件、参数文件及RMAN备份数据库信息查询
一.查看数据库信息:=====================1.数据文件 SQL> SELECT FILE#,STATUS,ENABLED,NAME FROM V$DATAFILE; FILE ...
- 目录和文件 按创建时间排序du -h --time --max-depth=1 . |sort -r -t $'\t' -k 2 Linux查看文件夹大小,并按文件夹创建时间排序
目录和文件 按创建时间排序 # du -h --time --max-depth=1 . |sort -r -t $'\t' -k 230M 2020-04-01 14:54 .28K 2020-04 ...
- scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名
对拷文件夹 (包括文件夹本身) scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_ba ...
- s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译
时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...
- C# 操作文件类,文件夹存在判断,创建,文件内容读写。
此篇文档是老早就放到草稿箱中了,断断续续编辑了几次.结合自己经常用到的对于文件的操作,结合msdn做此文. 1.File 类 --转自msdn 常用方法: 名称 说明 AppendAllLines(S ...
- C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!
https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new Ope ...
- Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。
题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就 ...
- Win10资源管理器中的库文件夹按照修改日期排序
win7之后添加的库十分的好用,可以将下载,音乐,文档设置在我的电脑(win10叫此电脑)首页,快速进入. 我对文件夹设置了按照时间排序,这样进去就可以直接看到最近下载了什么文件.但是win10用时间 ...
- 文件元数据、文件夹操作(day08)
一.获取文件的元数据(meta data) 通过read write可以对文件的内容进行读写. 但是今天我们要操作的是文件的元数据(文件的属性信息) day08$ls -l hello -rw-rw- ...
随机推荐
- JAVA基础学习day26--正则表达式
一.正则表达式 1.1.概述 符合一规则的表达式:用于专门操作字符串. 正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义.Pattern类的主 ...
- 一个基于DDD的开源项目,各种技术!
基于asp.net mvc + DDD 构架的开源.net cms系统. 运行截图: 特性: 跨平台 支持Windows.Linux.MacOX运行.linux运行案例:http://blog.ops ...
- .net程序员工作两年总结
(2015年9月) 最近换了工作,面试了很多家公司想总结下,以便以后回顾知道自己是怎么走过来的. 入行背景: 我是半路转行做软件开发的,2011年7月大学专科毕业,大学专业是:机械制造及其自动化:20 ...
- 水溶彩铅的特点&技法运用
工欲善其事必先利其器!亲爱的同学们都准备好画笔了吗?今天,助助为同学们介绍一下水溶性彩色铅笔的特点,技法运用的基本教程,请仔细看哟! [水溶性彩色铅笔的特点] 能够同时画出像铅笔一样的线条和水彩一样的 ...
- C# 图片处理(压缩、剪裁,转换,优化)
1.图片与二进制的转换 图片转换成二进制主要用于数据库存储及图片数据的应用间传输,如网站服务器通过WebService或WCF从数据处理服务器获取图片数据,就可以以二进制形式传输 ///图片转二进制 ...
- 最完整PHP.INI中文版
;;;;;;;;;;;;;;;;;;; 关于php.ini ;;;;;;;;;;;;;;;;;;;; 这个文件必须命名为'php.ini'并放置在httpd.conf中PHPINIDir指令指定的目录 ...
- 用PowerDesigner将SQL语句生成实体类
1.首先打开PowerDesigner,点击左上角“File”—>"Reverse Engineer"—>"Database..." 2.选择数据库 ...
- inux下文件权限设置中的数字表示权限,比如777,677等,这个根据什么得来的
chmod ABC file 其中A.B.C各为一个数字,分别表示User.Group.及Other的权限. A.B.C这三个数字如果各自转换成由“0”.“1”组成的二进制数,则二进制数的每一位分别代 ...
- Palindrome subsequence
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65535 K (Java/ ...
- 22 扩展Python - 《Python 核心编程》