1. 程式人生 > >GetFiles()後對檔案按指定方式排序

GetFiles()後對檔案按指定方式排序

原文C#關鍵程式碼部分

public partial class SortFileList : System.Web.UI.Page  
{  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        DirectoryInfo dirinfo = new DirectoryInfo(MapPath("~"));  
        FileInfo[] sortList = dirinfo.GetFiles();  
        Array.Sort(sortList, new MyDateSorter());  
  
        foreach (FileInfo item in sortList)  
        {  
            Response.Write(item.FullName + "<br" + " />");  
        }  
    }  
}  
  
public class MyDateSorter : IComparer  
{  
    #region IComparer Members  
    public int Compare(object x, object y)  
    {  
        if (x == null && y == null)  
        {  
            return 0;  
        }  
        if (x == null)  
        {  
            return -1;  
        }  
        if (y == null)  
        {  
            return 1;  
        }  
        FileInfo xInfo = (FileInfo)x;  
        FileInfo yInfo = (FileInfo)y;  
  
  
        //依名稱排序  
        return xInfo.FullName.CompareTo(yInfo.FullName);//遞增  
        //return yInfo.FullName.CompareTo(xInfo.FullName);//遞減  
  
        //依修改日期排序  
        //return xInfo.LastWriteTime.CompareTo(yInfo.LastWriteTime);//遞增  
        //return yInfo.LastWriteTime.CompareTo(xInfo.LastWriteTime);//遞減  
    }  
    #endregion  
}  

我使用的改為VB.NET版本:

            Dim dir As New DirectoryInfo(SavePath)
                Dim Files() As FileInfo
                Files = dir.GetFiles("*.sql")
                Array.Sort(Files, New MyDateSorter())
                Dim f As FileInfo
                For Each f In Files
                    Html_Rec = "<tr align=""center"" >"

                    Html_Rec &= String.Format("<td>{0}</td><td>{1}</td><td>{2}</td><td><input name=""addkc"" type=""button"" class=""an"" id=""restore""  onclick=""restore('{3}','{4}')"" value=""恢 復"" /> <input name=""addkc"" type=""button"" class=""an"" id=""del""  onclick=""del('{5}','{6}')"" value=""刪 除"" /></td>", i, f.CreationTime, f.Name, f.CreationTime, f.Name, f.CreationTime, f.Name)
                    Html_Rec &= " </tr>"
                    Html.Append(Html_Rec)

                    i += 1
                Next
          
                Html.Append("</table>")

排序類:
Public Class MyDateSorter
    Implements IComparer

    Public Function Compare(x As Object, y As Object) As Integer Implements System.Collections.IComparer.Compare
        If x Is Nothing AndAlso y Is Nothing Then
            Return 0
        End If
        If x Is Nothing Then
            Return -1
        End If
        If y Is Nothing Then
            Return 1
        End If
        Dim xInfo As FileInfo = DirectCast(x, FileInfo)
        Dim yInfo As FileInfo = DirectCast(y, FileInfo)


        '依名稱排序   
        'Return xInfo.FullName.CompareTo(yInfo.FullName)
        '遞增   
        'return yInfo.FullName.CompareTo(xInfo.FullName);//遞減   
        '依修改日期排序   
        Return xInfo.LastWriteTime.CompareTo(yInfo.LastWriteTime) '遞增   
        'return yInfo.LastWriteTime.CompareTo(xInfo.LastWriteTime) '遞減   
    End Function

End Class


相關推薦

GetFiles()檔案指定方式排序

原文C#關鍵程式碼部分public partial class SortFileList : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {

MFC檔案檔名進行排序

用CFileFind類遍歷一個資料夾下的檔案,發現它並不是按照windows標準的按檔名排序方式排序的,比如說1.txt,2.txt,3.txt,4.txt,5.txt,...80.txt,81.txt,...100.txt,101.txt.....在windows下應該是

Python: Pandas的DataFrame如何指定list排序

不同 需求 per log title 表示 anr lac 使用 本文首發於微信公眾號“Python數據之道”(ID:PyDataRoad) 前言 寫這篇文章的起由是有一天微信上一位朋友問到一個問題,問題大體意思概述如下: 現

輕松Angularjs實現表格指定排序

filter click arc 我們 點擊 ont 想要 log ner   angular表格點擊序號進行升序,再次點擊進行降序排序,在輸入框輸入信息,出現相對應數據的那一行。  html: <input type="text" ng-model="se

python的sorted函式字典value進行排序

場景:詞頻統計時候,我們往往要對頻率進行排序 sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。其中iterable表示可以迭代的物件,例如可以是dict.items()、dict.keys()等,key是一個函式,用來選取參與比

Angularjs實現表格指定排序

<table class="table table-border" ng-app="myapp" ng-controller="orderByCtrl"> <thead> <tr> <th>inx</th>

Mysql指定順序排序的兩種寫法

SELECT `ID` FROM wp_posts WHERE `ID` in (1,2,3,4,5) ORDER BY FIELD(`ID`,5,4,3,1,2); // 純數字欄位不用處理引號,比較好拼接 SELECT `ID` FROM wp_posts WHERE `ID` in (1,2,

給Java.util.List指定順序排序

開發中有時需要給List排序,大家都知道List本身是排序的,但它內部排序是按照存入順序排序的,故而有時候這並不是我們所需要的。 為此,我們需要按照我們的意願把List裡面的object排序。 例子: 實現List裡面Object類的配需 Object裡面有一個時間欄位

oracle中使用instr指定順序排序

select sei.office_name, nvl(ROUND(AVG(sei.COMP_CHECK), 2), 0) avg_score from SECURITY_EMPLOYEE_INFO

javaMapValue進行排序

List <Map.Entry<String,Integer>> mapList = null; mapList=new ArrayList<Map.Entry<String,Integer>>(myMap.entry

SqlServer 指定順序排序

第一種方式:select * from tabname where 1=1  order by CHARINDEX(RTRIM(CAST(列名 as NCHAR)),優先順序1內容,優先順序2內容,優先

JS省市首字母排序

/** * 省市拼音排序 */ function pySegSort(arr, empty) { if(!String.prototype.localeCompare) re

Python sorted 函式,字典值進行排序

字典實際上並不能排序,我們排的是items,即dict.items(),將字典轉換成了一個列表sorted函式的原型為:sorted(iterable[, cmp[, key[, reverse]]])iterable:是可迭代型別型別;cmp:用於比較的函式,比較什麼由key決定,有預設值,迭代集合中的一

python 實現txt檔案 value值排序從高到低

with open('sort.txt','w+') as w:      while True:           sorted_lines=sorted(open('1.txt'), key=lambda s: s.split()[4],reverse=1)      

PHP實現多維數組指定排序

har get 二維數組 rtb app tis UNC bsp function 主要用到的PHP函數 array_multisort() 1.先實現指定多維數組一個字段排序 根據二維數組的id值來排序,轉換後的數組格式如下: function

用python批量獲取某路徑資料夾及子資料夾下的指定型別檔案,並原資料夾結構批量儲存處理檔案

因為是把自己成功執行的整個程式碼按幾部分截取出來的,所以每一小節程式碼不一定能單獨執行,特此說明。 1.獲取某路徑資料夾及子資料夾下的指定pcm型別檔案的全部路徑 import os def eachfile(filepath):     pathdi

如何在Linux中使用ls命令日期檔案進行排序

ls命令用於列出目錄內容,結果可以按幾個條件排序,例如按日期,按字母順序排列的檔名,修改時間,訪問時間,版本和檔案大小。 在本文中,我將向您展示如何使用Linux中的ls命令按日期對檔案進行排序。 1)列出具有上次修改日期/時間的檔案目錄 要列出檔案並在頂部顯示最後修改的檔案,我們將使用-lt選項和

Python3 列表元組指定列進行排序

Python版本: python3.+ 執行環境: Mac OS IDE: pycharm Python內建的排序方法 排序方法介紹 基本的列表排序 以tuple作為list的元素

linux按照指定檔案排序

0000            27189           41925425 065f            15              41925425 0663            7               41925425 0675            5               

輸入6個字串,並它們從小到大的順序排序輸出。

printf("請輸入六個字串\n"); char str[6][10] = {0}; for (int i = 0; i < 6; i++) { scanf("%s",str[i]); } for (int i