***********************************************

*月球正一日一日远离TA的亿年CP,*

*而遥远^遥远的仙女却向往璀璨的银河!”*

***********************************************

Java笔记:像win里一样文件名排序

文件名排序有很多方法实现,昭和很多歌版本测试,唯这个版本感觉最顺眼顺手,谢谢源代码提供者。

本次要点:

1. 字符串数组变量名定义String[] ,Javazhong数组不能变长;

2. 字符串数组的传入使用Input;

3. void表示无返回值,所有无返回值的方法都使用它。当需要返回数据时, java构造方法去掉void这个关键字;

4. 返回数组时,方法名前须添加数组类型,否则提示“Error:(37, 20) java: 对于结果类型为空的方法, 无法返回值”,如:

private static String[]SortFileName(String[] Input)

5.返回数组时,要进行判断是否为空,为null时需要创建一个同类型的新数组,维数要一致,如:

if(Input==null){

return new String[1];

}else{

return Input;

}

6.详细代码如下:

import java.io.File;

import java.util.Arrays;

import java.util.Comparator;

/*对某文件夹下的文件名像win里一样排序*/

public class FileSort {

private static String[] SortFileName(String[] Input){//void无返回值

Arrays.sort(Input, new Comparator() {

@Override

public int compare(String s1, String s2) {

if (returnDouble(s1) < returnDouble(s2))

return -1;

else if (returnDouble(s1) > returnDouble(s2))

return 1;

else

return 0;

}

public double returnDouble(String str) {

StringBuffer sb = new StringBuffer();

for (int i = 0; i < str.length(); i++) {

if (Character.isDigit(str.charAt(i)))

sb.append(str.charAt(i));

else if (str.charAt(i) == '.' && i < str.length() - 1 && Character.isDigit(str.charAt(i + 1)))

sb.append(str.charAt(i));

else break;

}

if (sb.toString().isEmpty())

return 0;

else

return Double.parseDouble(sb.toString());

}

});

if(Input==null){

return new String[1];

}else{

return Input;

}

}

public static void main(String[] args){

String PathName = "D:\\";

File file = new File(PathName);

if (file.isDirectory()){//给定路径是目录才进行排序

String[] fileNames = file.list();

SortFileName(fileNames);

for (int i = 0; i < fileNames.length; i++) {

System.out.println(fileNames[i]);

}

}else{

System.out.println("给定路径不是文件夹");

}

}

}

以上代码在win7 sdk1.7环境下编译通过。

java 文件名排序_Java笔记:像win里一样文件名排序相关推荐

  1. java中list元素排序_java list集合元素根据某些字段排序

    一.jdk1.6的环境下 新建ComparatorSort类,并实现Comparator接口,重写compare方法 降序排序:o1的元素>o2的元素,并返回-1:o1的元素小于o2的元素,并返 ...

  2. java set 接口_java笔记四:Set接口

    Set不保存重复的元素.Set中最常被使用的是测试归属性,你可以很容易的询问某个对象是否在某个Set中.Set具有与Collection完全一样的接口,因此没有任何额外的功能.实际上Set就是Coll ...

  3. java对中文排序_java对中文(拼音)进行排序

    拼音排序 拼音有好几种方式,其中最主要的是中华人民共和国的汉语拼音 Chinese Phonetic.对汉字的排序有两种:一种是宽松的,能够按拼音排序最常用的汉字,另一种是严格的,能够按拼音排序绝大部 ...

  4. java comparable排序_JAVA中通过Comparable接口实现简单排序

    Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...

  5. java 内部类异常_Java笔记(三 内部类、异常、编程规范)

    内部类(Outer.java) 在一个类中定义另外一个类,这个类就叫做内部类或内置类(inner class) 内部类和外部类分属不同的空间,都有自己的数据变量和数据方法,内部类仍然是一个独立的类 内 ...

  6. java类描述_java笔记2:Java语言中的类和对象的描述

    在Java 语言中,除8 个基本数据类型值之外, 一切都是对象,而对象就是面向对象程序设计的中心. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还 ...

  7. java 数组排序论文_Java中运用数组的四种排序方法

    标签: <1>利用Arrays带有的排序方法快速排序 import java.util.Arrays; 2 public class Test2{ public static void m ...

  8. java并发排序_Java基于fork/koin类实现并发排序

    概述 主要谈一谈 Java使用fork/koin类 实现的并发排序 以及对于Stream流的支持的splitetor mismatch() -> 寻找两个数组 第一次出现数据不一致的下标 par ...

  9. java 汉字排序_java实现中文汉字的首字母排序

    java中可以排序的工具类和接口共有五个SortedMap .SortedSet.TreeMap .TreeSet和Collections,Collections中需要显式调用sort()方法. 事例 ...

最新文章

  1. 启用IIS的Gzip压缩 【转】
  2. centos7重启命令_centos7单用户模式更改root一种方法
  3. druid连接池初始化慢_7、SpringBoot -连接池(Durid)
  4. 吸顶那个叫什么_为什么我家吸顶灯开灯后一闪一闪的
  5. 【译】Lesson 1: 一个三角形和一个方块
  6. php+静态变量的初始值,php 静态变量的初始化
  7. directui 3d界面引擎_美术设计师浅谈AR/VR中3D建模设计的工具、挑战与区别
  8. php scope权限管理,关于微信公众号scope参数错误或没有scope权限的解决方案
  9. linux kill 子进程6,linux – Bash:杀死子进程中的所有进程
  10. Socket 实例之透析java,C#的互操作
  11. mysql一次运行多个SQL文件
  12. 为何python不好找工作-为什么我不建议你通过 Python 去找工作?
  13. 班尼路信息化系统基础选型的简单分析
  14. 服务器账号永不过期,linux下如何设置用户密码永不过期_网站服务器运行维护
  15. 产业研发用地_金阊新城控制规划调整 新增学校 住宅及产业研发用地
  16. PMO在生物制药GMP生产环境中的实践——《PMO论文集(2019)》(电子版)
  17. 趣味python编程之经典俄罗斯方块
  18. mysql 视图创建与查询数据库作业(10)
  19. 视频倍速播放方法(有效!)
  20. 时间(格林尼治时间/协调世界时/世界时间)

热门文章

  1. 【Flyway】pgsql R__开头的sql
  2. BFS 寻找矩阵中两点之间的最短距离
  3. vmware esx简介
  4. 更新最大内码,金蝶开发
  5. ul li 自定义图标 和 图标大小
  6. 谈谈你对 Spring 的理解
  7. 数据挖掘与数据化运营实战. 3.5 交叉销售模型
  8. javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified
  9. python绘制不同风格的分级统计图(Choropleth map)
  10. 大物知识点复习框架——光学