基于Windows系统,获取文件列表后使用Windows系统排序机制排一下序就行,这里需要调用windows排序的dll。
需新建一个文件排序类,
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace Common
{
public class FileSort : IComparer
{
//调用Shlwapi.DLL
[System.Runtime.InteropServices.DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
private static extern int StrCmpLogicalW(string param1, string param2);
//前后文件名进行比较。
public int Compare(object name1, object name2)
{
if (null == name1 && null == name2)
{
return 0;
}
if (null == name1)
{
return -1;
}
if (null == name2)
{
return 1;
}
return StrCmpLogicalW(name1.ToString(), name2.ToString());
}
}
}
使用方式
DirectoryInfo info = new DirectoryInfo(filePath);
FileInfo[] childfiles = info.GetFiles();
Array.Sort(childfiles, new FileSort());