Java怎么实现Windows文件夹里的排序?

heochuan 2016-11-07 04:29:13
目前正在做上传文件的功能,把一个文件夹下的文件都上传,按照顺序。
如果文件都是数字命名的到好办了,截取文件名,或者转成数字比较下,或者直接比较hashCode大小。
现在碰到有汉字字符数字组合的就不好排序了,比如下面一组文件名
ZE100-2016-1-DZ-1.jpg
ZE100-2016-1-DZ-10.jpg
ZE100-2016-1-DZ-11.jpg
ZE100-2016-1-DZ-12.jpg
ZE100-2016-1-DZ-100.jpg
ZE100-2016-1-DZ-101.jpg
在Windows文件夹里排序肯定是这个顺序
现在我用File[] file = f1.listFiles();方法获取到文件名之后想排序,除非是把数字截取出来比大小排序,
不然把文件名取出来,用HashSet遍历或者直接用hashCode比大小都不能排出上面的顺序,
另外上面的格式不是固定的,如果固定截取数字比大小还行呢
有时候变成
ZE-2016-2-1.jpg
ZE-2016-2-2.jpg
ZE-2016-2-10.jpg
ZE-2016-2-101.jpg
Windows默认的文件名排序肯定是这样显示的,
有没有大神帮帮忙给我一个排序算法,急死了,这个排序弄好几天了!
...全文
358 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧