频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
paip.目录文件列表排序算法
2013-02-26 11:32:54      个评论      
收藏   我要投稿
paip.目录文件列表排序算法

 

 

----作者Attilax , 1466519819@qq.com---  

今天要给一个目录下文件排序。但是效果总是不WIN7的不同。它是按字符来排序的……

 

 

 

 

实际的排序是这样的。

 

 

先排列数字文件列表。按数字大小排。

 

 

 

 

然后非数字文件名列表……按字符比较来排。

 

 

 

 

FileSystemInfo [] files = dirinfo.GetFileSystemInfos();

 

 

System.Collections.Generic.List<FileInfo> li=toList(files);

 

 Comparison<FileInfo> com = new Comparison<FileInfo>(Compare);

 li.Sort(com);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

private int Compare(FileInfo info1, FileInfo info2)

{

 

 

 

 

    String filenameNoEx = Path.GetFileNameWithoutExtension(info1.Name);

    String filenameNoEx2 = Path.GetFileNameWithoutExtension(info2.Name);

    if( m.str.isNum(filenameNoEx))

        if (m.str.isNum(filenameNoEx2))

        {

            int one = Int32.Parse(filenameNoEx.ToString() );

            int two = Int32.Parse(filenameNoEx2.ToString() );

            if (two > one)

                return -1;

            else

                return 1;

        }

    //try

    //{

    //    int one = Int32.Parse(info1.Name.ToString().Replace(".jpg", ""));

    //    int two = Int32.Parse(info2.Name.ToString().Replace(".jpg", ""));

    //    if (two > one)

    //        return -1;

    //    else

    //        return 1;

    //}

    //catch (Exception ex) { }

    return 0;

    int result;

    CaseInsensitiveComparer ObjectCompare = new CaseInsensitiveComparer();

    result = ObjectCompare.Compare(info1.FullName, info2.FullName);

    return result;

}

点击复制链接 与好友分享!回本站首页
相关TAG标签 算法 文件 目录
上一篇:paip.验证码识别----判断汉字还是英文
下一篇: Creo二次开发--函数 --基准轴
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站