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#文件和文件文件夹排序相关推荐
- .NET基础-11-ArrayList|Hashtable|File文件操作|Dircetioy文件夹操作|Path路径操作
集合 ArrayList与Hashtable应为存在拆箱与装箱,所以性能不怎么好,尽量不要使用,而使用泛型集合 可以使用下面的方式输出所消耗的时间 //ArrayList arl = new Arra ...
- 计算机中文件怎么移动,文件夹里的文件怎么随意拖动
Q1:文件夹里的文件无法拖动? Windows 7为了节约自定义视图对未知的记忆功能所消耗的资源,去掉了自定义排序的方式. Q2:电脑文件夹里的文件不能随意拖动是怎么回事呀? 你说的意思是不是想实现任 ...
- linux看10g文件,Linux 查看文件和文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. du可以查看文件及文件夹的大小. 两者配 ...
- 目录文件和根目录文件夹
目录文件和根目录文件夹. 相对路径: 相对路径分类 符号 说明 (1)同一级路径: 图像文件位于HTML文件同一级,如<img src="baidu.gif"/> (2 ...
- C#遍历得到指定文件夹下的所有文件和子文件夹
1.遍历指定文件夹下的所有文件 string path = Application.StartupPath + "\\data\\采集数据\\"; DirectoryInfo ro ...
- 创建用于存放备份还原文件的网络文件夹(DPM配置管理系列七)
请在用于存储的服务器中创建备份还原文件的网络共享文件夹,如下图所示: 转载于:https://blog.51cto.com/tingdongwang/895589
- linux目录为root所有文件,linux获取文件所有目录/文件夹的例子linux操作系统 -电脑资料...
下面我给大家整理了两种比较实用的方法,如我们可以使用dirname来获取文件路径或者使用shell命令来获取路径,希望例子对大家有帮助, 方式一:使用" dirname" 去获得( ...
- 实体类,bean文件,pojo文件夹,model文件夹都一样
实体类,bean文件,pojo文件夹,model文件夹都一样,这些都是编写实体类,这是我暂时看到的项目文件 转载于:https://www.cnblogs.com/dianzan/p/11181196 ...
- mysql8.0.18ZIP版下载与安装(以及无my-default.ini文件和data文件夹的解决方法)
mysql8.0.18ZIP版下载与安装(以及无my-default.ini文件和data文件夹的解决方法) 参考文章: (1)mysql8.0.18ZIP版下载与安装(以及无my-default.i ...
- python压缩文件夹下的所有文件_python压缩文件夹内所有文件为zip文件的方法
这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar 简介gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: li ...
最新文章
- Pytorch TensorRT
- 各类型土地利用图例_划重点!国土空间总体规划——土地利用
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(无舵机)
- android module中获取 app_Android组件化架构 - 4. 动态创建
- python爬取内容乱码_python爬取html中文乱码
- c语言程序设计授课进度安排表,C语言程序设计教学大纲、教学计划进度简表
- chrome浏览器再次打开黑屏一段时间
- 初学ASP.Net时在论坛收藏收集的一些资料备忘
- jupyter notebook 软件安装及使用
- 惯性力偶矩公式中j_惯性力偶矩的计算
- 【ARM 嵌入式 C 入门及渐进 3 -- GCC __attribute__ 使用】
- 结婚吉日怎样挑选?好好把握幸福启程
- 针对源代码保密源代码安全管理产品选型建议
- 10种招聘数据的采集方法
- 备份android分区,安卓手机手动【备份+还原】分区
- 接口和抽象类的共性与区别
- 轻松在线差异基因/物种分析和可视化
- 用Python的networkx绘制精美网络图
- redis切换db方法
- js 立方 平方怎么写
热门文章
- 036.crud准备
- java中修改上传图片大小,springMVC MultipartFile 上传图片时修改图片大小
- FFmpeg的音频处理详解
- 【转1】 OpenWrt Chaos Calmer 15.05使用mwan3单线多拨教程
- linux下的密码破解软件
- 计算机在职硕士 学什么,计算机在职研究生考什么科目为什么此专业比较强调数学呢...
- BZOJ3717 [PA2014] Pakowanie [状态压缩][DP]
- 【历史上的今天】9 月 9 日:C 语言之父诞生;阿里巴巴成立
- 搭建自己的框架WedeNet(一)
- 桌面快捷方式计算机打不开,桌面快捷方式打不开,详细教您桌面快捷方式打不开怎么解决...