Dim file_list As String = ""
        Dim dirPath As String = HttpContext.Current.Server.MapPath("/abc/")
        If Directory.Exists(dirPath) Then
            '获得目录信息
            Dim dir As New DirectoryInfo(dirPath)
            '获得目录文件列表
            Dim files As FileInfo() = dir.GetFiles("*.*")
            Dim fileNames As String() = New String(files.Length - 1) {}
            Dim i As Integer = 0
            For Each fileInfo As FileInfo In files                fileNames(i) = fileInfo.Name                Dim f_name As String = fileInfo.Name
                Dim f_size As String = fileInfo.Length
                Dim f_gs As String = fileInfo.Extension
                Dim f_ctime As Date = fileInfo.CreationTime                If f_size >= 1073741824 Then
                    f_size = FormatNumber(f_size / 1073741824, 2) & " GB"
                ElseIf f_size >= 1048576 Then
                    f_size = FormatNumber(f_size / 1048576, 2) & " MB"
                ElseIf f_size >= 1024 Then
                    f_size = FormatNumber(f_size / 1024, 2) & " KB"
                Else
                    f_size = f_size & "B"
                End If                '<tr><td class='style1'>f_ctime</td><td class='style2'>f_name</td><td>f_size</td><td class='style3'>压缩 下载</td></tr>                file_list = file_list & "<tr><td class='style1'>" & f_ctime.ToString("yyyy/M/d hh:mm:ss") & "</td><td class='style2'>" & f_name & "</td><td>" & f_size & "</td><td class='style3'>压缩 下载</td></tr>"                i += 1            Next
            '  Return
        End If        Label1.Text = file_list我这样获取到的列表时 创建日期 文件名 大小 操作 
2011/2/18 11:30:28 1.txt 531B 压缩 下载 
2011/2/18 01:41:26 2.rar 398B 压缩 下载 
2011/2/18 04:19:08 QQ截图未命名.jpg 66.92 KB 压缩 下载 
2011/2/18 02:33:47 SQL2KSP4.exe 67.14 MB 压缩 下载 
2011/2/18 11:28:45 新建文本文档 (4).txt 1.90 KB 压缩 下载 =============
我想获取的时候先得到创建日期最晚的能否做到?

解决方案 »

  1.   

    你可以放入数组,对数组进行Sort,或者加入到DataTable里面,进行Sort排序
      

  2.   

    string[] files = Directory.GetFiles(@"文件夹");
    var query = from f in files
                orderby Path.GetExtension(f) descending
                select f;foreach (var f in query.ToList())
        Console.WriteLine(f);

    string[] files = Directory.GetFiles(@"文件夹");
    List<FileInfo> lst=new List<FileInfo>(files );foreach (string file in System.IO.Directory.GetFiles("", "*.*", System.IO.SearchOption.AllDirectories))
    {
      lst.Add(new FileInfo(file));
    }
     lst.Sort(delegate( FileInfo p1, FileInfo p2) { return Path.GetExtension(p1).CompareTo(Path.GetExtension(p2)); });
    public class FileComparer : IComparer<FileInfo>
    {
      public int Compare(FileInfo x, FileInfo y)
      {
      return Path.GetExtension(x).CompareTo(Path.GetExtension(y));
      }
      }
    }