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哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...
随机推荐
- learning_git_from_Liao
安装 windows git 直接去官网就行,地址如下: https://git-scm.com 安装完成后,在开始菜单里找到"Git"->"Git Bash&qu ...
- [BZOJ 2002] [HNOI2010]弹飞绵羊(Link Cut Tree)
[BZOJ 2002] [HNOI2010]弹飞绵羊(Link Cut Tree) 题面 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一 ...
- HTTPS原理(三次握手)
第一步: 客户端向服务器发送HTTPS请求,服务器将公钥以证书的形式发送到客户端(服务器端存放私钥和公钥). 第二步: 浏览器生成一串随机数,然后用公钥对随机数和hash签名进行加密,加密后发送给服务 ...
- 实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)
怎么实现一台Linux电脑连接另一台Linux电脑? 首先查看是否安装ssh服务:systemctl status sshd.service 启动服务:systemctl start sshd.ser ...
- 使用Python基于OpenCV和Tesseract的OCR
OCR OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将形 ...
- 生成ini文件
setProfileString是无法直接生成ini文件的,如果不存在这个ini文件需要先创建,然后再setProfileString.示例代码//保存连接参数到配置文件if not FileExis ...
- 实现远程线程DLL注入
### 32位:远程线程注入 远程线程注入是最常用的一种注入技术,该技术利用的核心API是 `CreateRemoteThread()` 这个API可以运行远程线程,其次通过创建的线程调用 `Load ...
- C# 枚举转集合
记录一下,方便自己下次使用. public class EnumHelper { /// <summary> /// 将枚举转为集合 /// </summary> /// &l ...
- luogu题解 P1099 【树网的核】树的直径变式+数据结构维护
题目链接: https://www.luogu.org/problemnew/show/P1099 https://www.lydsy.com/JudgeOnline/problem.php?id=1 ...
- web-CSS居中大全
居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...