java 文件名排序_Java笔记:像win里一样文件名排序
***********************************************
*月球正一日一日远离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里一样文件名排序相关推荐
- java中list元素排序_java list集合元素根据某些字段排序
一.jdk1.6的环境下 新建ComparatorSort类,并实现Comparator接口,重写compare方法 降序排序:o1的元素>o2的元素,并返回-1:o1的元素小于o2的元素,并返 ...
- java set 接口_java笔记四:Set接口
Set不保存重复的元素.Set中最常被使用的是测试归属性,你可以很容易的询问某个对象是否在某个Set中.Set具有与Collection完全一样的接口,因此没有任何额外的功能.实际上Set就是Coll ...
- java对中文排序_java对中文(拼音)进行排序
拼音排序 拼音有好几种方式,其中最主要的是中华人民共和国的汉语拼音 Chinese Phonetic.对汉字的排序有两种:一种是宽松的,能够按拼音排序最常用的汉字,另一种是严格的,能够按拼音排序绝大部 ...
- java comparable排序_JAVA中通过Comparable接口实现简单排序
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
- java 内部类异常_Java笔记(三 内部类、异常、编程规范)
内部类(Outer.java) 在一个类中定义另外一个类,这个类就叫做内部类或内置类(inner class) 内部类和外部类分属不同的空间,都有自己的数据变量和数据方法,内部类仍然是一个独立的类 内 ...
- java类描述_java笔记2:Java语言中的类和对象的描述
在Java 语言中,除8 个基本数据类型值之外, 一切都是对象,而对象就是面向对象程序设计的中心. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还 ...
- java 数组排序论文_Java中运用数组的四种排序方法
标签: <1>利用Arrays带有的排序方法快速排序 import java.util.Arrays; 2 public class Test2{ public static void m ...
- java并发排序_Java基于fork/koin类实现并发排序
概述 主要谈一谈 Java使用fork/koin类 实现的并发排序 以及对于Stream流的支持的splitetor mismatch() -> 寻找两个数组 第一次出现数据不一致的下标 par ...
- java 汉字排序_java实现中文汉字的首字母排序
java中可以排序的工具类和接口共有五个SortedMap .SortedSet.TreeMap .TreeSet和Collections,Collections中需要显式调用sort()方法. 事例 ...
最新文章
- 启用IIS的Gzip压缩 【转】
- centos7重启命令_centos7单用户模式更改root一种方法
- druid连接池初始化慢_7、SpringBoot -连接池(Durid)
- 吸顶那个叫什么_为什么我家吸顶灯开灯后一闪一闪的
- 【译】Lesson 1: 一个三角形和一个方块
- php+静态变量的初始值,php 静态变量的初始化
- directui 3d界面引擎_美术设计师浅谈AR/VR中3D建模设计的工具、挑战与区别
- php scope权限管理,关于微信公众号scope参数错误或没有scope权限的解决方案
- linux kill 子进程6,linux – Bash:杀死子进程中的所有进程
- Socket 实例之透析java,C#的互操作
- mysql一次运行多个SQL文件
- 为何python不好找工作-为什么我不建议你通过 Python 去找工作?
- 班尼路信息化系统基础选型的简单分析
- 服务器账号永不过期,linux下如何设置用户密码永不过期_网站服务器运行维护
- 产业研发用地_金阊新城控制规划调整 新增学校 住宅及产业研发用地
- PMO在生物制药GMP生产环境中的实践——《PMO论文集(2019)》(电子版)
- 趣味python编程之经典俄罗斯方块
- mysql 视图创建与查询数据库作业(10)
- 视频倍速播放方法(有效!)
- 时间(格林尼治时间/协调世界时/世界时间)
热门文章
- 【Flyway】pgsql R__开头的sql
- BFS 寻找矩阵中两点之间的最短距离
- vmware esx简介
- 更新最大内码,金蝶开发
- ul li 自定义图标 和 图标大小
- 谈谈你对 Spring 的理解
- 数据挖掘与数据化运营实战. 3.5 交叉销售模型
- javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified
- python绘制不同风格的分级统计图(Choropleth map)
- 大物知识点复习框架——光学