java中如何按照顺序获取文件夹内的文件名
如何按照顺序读取文件夹内的文件名:
如输出(1.jpg、2.jpg、3.jpg、10.jpg、11.jpg、20.jpg、21.jpg、31.jpg)
// 图片 文件夹
File imgFile = new File(imgFilePath);
// 图片文件夹路径不存在,则创建
if (!imgFile.exists()) {
imgFile.mkdirs();
}else {
// 存在图片,则直接获取
String[] list = imgFile.list(); //获取文件夹内的所有文件名
if(list != null){
//深拷贝 //浅拷贝 Arrays.asList(list)
for (String name : list) {
imgURList.add(name); //把文件名放入list里面
}
// 对 list 排序
Collections.sort(imgURList);
}
// 对 list 排序 Collections.sort(imgURList);
但是输出的是:(1.jpg、10.jpg、11.jpg、2.jpg、20.jpg、21.jpg、3.jpg、31.jpg)
不是我想要的按数字大小来排序的
请教大神们,谁做过没有呢??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
具体如何实现呢 Comparator这个如何写呢?
用Collections.sort(list,Comparator);来排。
结果:[D:img1.png, D:img2.png, D:img10.png, D:img11.png, D:img20.png]
自己再写个严谨些的吧。
Comparator<String> comparator = new Comparator<Integer>() {
public int compare(String o1, String o2) {
Integer i1 = Integer.parseInt(o1);
Integer i2 = Integer.parseInt(o2);
return i1 > i2 ? 1 : -1;
}
};