如何按创建日期列出文件

时间:2013-09-25 14:00:15

标签: c# asp.net-mvc file directory

我有ASP.NET(C#)4.0。

我的代码是这样的:

public IEnumerable<string> GetFiles(string searchPatternExpression)
{
    string path = @"D:\xxx\";
    SearchOption searchOption = SearchOption.TopDirectoryOnly;
    Regex reSearchPattern = new Regex(searchPatternExpression);
    return Directory
        .EnumerateFiles(path, "*", searchOption)
        .Where(file => reSearchPattern.IsMatch(Path.GetFileName(file)))
        .OrderBy(file => file);
}

如何按文件的创建日期订购?

2 个答案:

答案 0 :(得分:7)

因此,您需要获取文件创建时间,最好使用DirectoryInfo来获取FileInfo而不是简单的字符串:

public IEnumerable<string> GetFiles(string searchPatternExpression)
{
    string path = @"D:\xxx\";
    SearchOption searchOption = SearchOption.TopDirectoryOnly;
    Regex reSearchPattern = new Regex(searchPatternExpression);
    return new DirectoryInfo(path)
        .EnumerateFiles("*", searchOption)
        .Where(file => reSearchPattern.IsMatch(file.Name))
        .OrderBy(file => file.CreationTime)
        .Select(file => file.FullName); // return just names
}

答案 1 :(得分:0)

试试这个:

public IEnumerable<string> GetFiles(string searchPatternExpression)
{
    string path = @"D:\xxx\";
    SearchOption searchOption = SearchOption.TopDirectoryOnly;
    Regex reSearchPattern = new Regex(searchPatternExpression);
    return Directory
        .EnumerateFiles(path, "*", searchOption)
        .Where(file => reSearchPattern.IsMatch(Path.GetFileName(file)))
        .OrderBy(file => new FileInfo(file).CreationTime);
}