不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
DirectoryInfo.GetFiles返回的文件列表按修改日期排序
编辑:dnawo 日期:2010-12-01
FileSort.cs:
调用示例:
复制内容到剪贴板
程序代码

using System;
using System.Collections;
using System.IO;
namespace ConsoleApplication1
{
/// <summary>
/// 文件排序类
/// </summary>
public class FileSort : IComparer
{
private FileOrder _fileorder;
private FileAsc _fileasc;
/// <summary>
/// 构造函数
/// </summary>
public FileSort()
: this(FileOrder.Name, FileAsc.Asc)
{ }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="fileorder"></param>
public FileSort(FileOrder fileorder)
: this(fileorder, FileAsc.Asc)
{ }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="fileorder"></param>
/// <param name="fileasc"></param>
public FileSort(FileOrder fileorder, FileAsc fileasc)
{
_fileorder = fileorder;
_fileasc = fileasc;
}
/// <summary>
/// 比较函数
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public int Compare(object x, object y)
{
FileInfo file1 = x as FileInfo;
FileInfo file2 = y as FileInfo;
FileInfo file3;
if (file1 == null || file2 == null)
throw new ArgumentException("参数不是FileInfo类实例.");
if (_fileasc == FileAsc.Desc)
{
file3 = file1;
file1 = file2;
file2 = file3;
}
switch (_fileorder)
{
case FileOrder.Name:
return file1.Name.CompareTo(file2.Name);
case FileOrder.Length:
return file1.Length.CompareTo(file2.Length);
case FileOrder.Extension:
return file1.Extension.CompareTo(file2.Extension);
case FileOrder.CreationTime:
return file1.CreationTime.CompareTo(file2.CreationTime);
case FileOrder.LastAccessTime:
return file1.LastAccessTime.CompareTo(file2.LastAccessTime);
case FileOrder.LastWriteTime:
return file1.LastWriteTime.CompareTo(file2.LastWriteTime);
default:
return 0;
}
}
}
/// <summary>
/// 排序依据
/// </summary>
public enum FileOrder
{
/// <summary>
/// 文件名
/// </summary>
Name,
/// <summary>
/// 大小
/// </summary>
Length,
/// <summary>
/// 类型
/// </summary>
Extension,
/// <summary>
/// 创建时间
/// </summary>
CreationTime,
/// <summary>
/// 访问时间
/// </summary>
LastAccessTime,
/// <summary>
/// 修改时间
/// </summary>
LastWriteTime
}
/// <summary>
/// 升序降序
/// </summary>
public enum FileAsc
{
/// <summary>
/// 升序
/// </summary>
Asc,
/// <summary>
/// 降序
/// </summary>
Desc
}
}
using System.Collections;
using System.IO;
namespace ConsoleApplication1
{
/// <summary>
/// 文件排序类
/// </summary>
public class FileSort : IComparer
{
private FileOrder _fileorder;
private FileAsc _fileasc;
/// <summary>
/// 构造函数
/// </summary>
public FileSort()
: this(FileOrder.Name, FileAsc.Asc)
{ }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="fileorder"></param>
public FileSort(FileOrder fileorder)
: this(fileorder, FileAsc.Asc)
{ }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="fileorder"></param>
/// <param name="fileasc"></param>
public FileSort(FileOrder fileorder, FileAsc fileasc)
{
_fileorder = fileorder;
_fileasc = fileasc;
}
/// <summary>
/// 比较函数
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public int Compare(object x, object y)
{
FileInfo file1 = x as FileInfo;
FileInfo file2 = y as FileInfo;
FileInfo file3;
if (file1 == null || file2 == null)
throw new ArgumentException("参数不是FileInfo类实例.");
if (_fileasc == FileAsc.Desc)
{
file3 = file1;
file1 = file2;
file2 = file3;
}
switch (_fileorder)
{
case FileOrder.Name:
return file1.Name.CompareTo(file2.Name);
case FileOrder.Length:
return file1.Length.CompareTo(file2.Length);
case FileOrder.Extension:
return file1.Extension.CompareTo(file2.Extension);
case FileOrder.CreationTime:
return file1.CreationTime.CompareTo(file2.CreationTime);
case FileOrder.LastAccessTime:
return file1.LastAccessTime.CompareTo(file2.LastAccessTime);
case FileOrder.LastWriteTime:
return file1.LastWriteTime.CompareTo(file2.LastWriteTime);
default:
return 0;
}
}
}
/// <summary>
/// 排序依据
/// </summary>
public enum FileOrder
{
/// <summary>
/// 文件名
/// </summary>
Name,
/// <summary>
/// 大小
/// </summary>
Length,
/// <summary>
/// 类型
/// </summary>
Extension,
/// <summary>
/// 创建时间
/// </summary>
CreationTime,
/// <summary>
/// 访问时间
/// </summary>
LastAccessTime,
/// <summary>
/// 修改时间
/// </summary>
LastWriteTime
}
/// <summary>
/// 升序降序
/// </summary>
public enum FileAsc
{
/// <summary>
/// 升序
/// </summary>
Asc,
/// <summary>
/// 降序
/// </summary>
Desc
}
}
调用示例:
复制内容到剪贴板
程序代码

using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo dirInfo = new DirectoryInfo(@"F:\abc");
FileInfo[] lstFile = dirInfo.GetFiles();
Array.Sort(lstFile, new FileSort(FileOrder.LastWriteTime)); //按修改日期升序排列
foreach (FileInfo file in lstFile)
Console.WriteLine(file.Name);
Console.Read();
}
}
}
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo dirInfo = new DirectoryInfo(@"F:\abc");
FileInfo[] lstFile = dirInfo.GetFiles();
Array.Sort(lstFile, new FileSort(FileOrder.LastWriteTime)); //按修改日期升序排列
foreach (FileInfo file in lstFile)
Console.WriteLine(file.Name);
Console.Read();
}
}
}
评论: 0 | 引用: 0 | 查看次数: 9453
发表评论
请登录后再发表评论!