C# 文件排序
一、C#文件排序
1、按名称顺序排列
/// <summary>
/// C#按文件名排序(顺序)
/// </summary>
/// <param name="arrFi">待排序数组</param>
private void SortAsFileName(ref FileInfo[] arrFi)
{
Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.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) { return y.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) { return x.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) { return y.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) { return x.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) { return y.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) { return x.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) { return y.CreationTime.CompareTo(x.CreationTime); });
}
如果要按文件或文件夹的最后修改时间排序,方法也是一样的,只需把 CreationTime 改为 LastWriteTime 即可。
C# 文件排序的更多相关文章
- FileFilter, FilenameFilter用法和文件排序
FileFilter和FilenameFilter这两个类的用法都很简单,都只有一个方法 FileFilter /*** @param pathname The abstract pathname t ...
- MYSQL 磁盘临时表和文件排序
因为Memory引擎不支持BOLB和TEXT类型,所以,如果查询使用了BLOB或TEXT列并且需要使用隐式临时表,将不得不使用MyISAM磁盘临时表,即使只有几行数据也是如此. 这会导致严重的性能开销 ...
- Linux文件排序和FASTA文件操作
文件排序 seq: 产生一系列的数字; man seq查看其具体使用.我们这使用seq产生下游分析所用到的输入文件. # 产生从1到10的数,步长为1 $ seq 1 10 1 2 3 4 5 6 7 ...
- mysql查询优化--临时表和文件排序(Using temporary; Using filesort问题解决)
先看一段sql: <span style="font-size:18px;">SELECT * FROM rank_user AS rankUser LEFT JOIN ...
- 小米开源文件管理器MiCodeFileExplorer-源码研究(8)-文件排序工具类FileSortHelper
FileSortHelper的核心功能就是,对文件集合FileInfo排序.FileInfo有若干字段,根据字段定义了4种比较器Comparator.调用示例:Collections.sort(Lis ...
- mysql中的文件排序(filesort)
在MySQL中的ORDER BY有两种排序实现方式: 1. 利用有序索引获取有序数据 2. 文件排序 在explain中分析查询的时候,利用有序索引获取有序数据显示Using index ,文件排序显 ...
- [CareerCup] 11.4 Sort the File 文件排序
11.4 Imagine you have a 20 GB file with one string per line. Explain how you would sort the file. 这道 ...
- 基于visual Studio2013解决C语言竞赛题之0904文件排序
题目
- Linux文件排序工具 sort 命令详解
sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...
随机推荐
- Wizard's Tour CodeForces - 860D (图,构造)
大意: 给定$n$节点$m$条边无向图, 不保证连通, 求选出最多邻接边, 每条边最多选一次. 上界为$\lfloor\frac{m}{2}\rfloor$, $dfs$贪心划分显然可以达到上界. # ...
- Hadoop组成架构
Hadoop是apache用来“处理海量数据存储和海量数据分析”的分布式系统基础架构,更广义的是指hadoop生态圈.Hadoop的优势 高可靠性:hadoop底层维护多个数据副本,即使某个计算单元故 ...
- 比特(bit)和字节(Byte)
比特(bit)和字节(Byte) 基础的内容就不说了,这里是一个小的学习笔记 比特和字节的写法差异与应用场景 标准的写法中,正如标题中写的那样,是通过大小写来区分比特和字节的:比特的b应该是小写,而字 ...
- 03 Linux下运行Django项目
1.安装windows和linux传输文件的工具 pip install lrzsz 提供两个命令 一个是上传一个是下载 rz 接收 直接rz sz 上传 直接sz 或者直接拖拽 2.在线下载资源的命 ...
- 误删除/dec/zero,/dev/null
误删除/dev/zero [root@MYSQL-MONGO145 dev]# mknod /dev/zero c 1 5[root@MYSQL-MONGO145 dev]# chmod 666 /d ...
- js判断变量是否为undefined
可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面我来介绍js undefined 用法. Java ...
- vue实现登录路由拦截
第一步 在router.js里面 把需要判断是否登录的路由添加meta对象属性 在meta对象里面自定义一个属性值 第二步 : 在router.js里面 与const router = new Rou ...
- Linux分布式消息队列RocketMQ部署与监控--双Master
环境准备:CentOS_6.5_x64 IP: 192.168.0.249 dbTest249 Master1 IP: 192.168.0.251 webTest251 Master2 下载 ali ...
- 格式化json扩展
json-handle 直接在chrome应用商店搜索JSON-handle或者去github搜索可用插件即可
- Qt5.12.0交叉编译
Qt5.12.0 交叉编译 源码配置 修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 文件 MAKEFILE_GENERATOR = UNIX C ...