按文件名排序
    /*** 按文件名排序* @param filePath*/public static ArrayList<String> orderByName(String filePath) {ArrayList<String> FileNameList = new ArrayList<String>();File file = new File(filePath);File[] files = file.listFiles();List fileList = Arrays.asList(files);Collections.sort(fileList, new Comparator<File>() {@Overridepublic int compare(File o1, File o2) {if (o1.isDirectory() && o2.isFile())return -1;if (o1.isFile() && o2.isDirectory())return 1;return o1.getName().compareTo(o2.getName());}});for (File file1 : files) {if (file1.isDirectory()) {FileNameList.add(file1.getName());}}return FileNameList;}

基于名称:

/*** 按文件名排序* @param filePath*/public static ArrayList<String> orderByName(String filePath) {ArrayList<String> FileNameList = new ArrayList<String>();File file = new File(filePath);File[] files = file.listFiles();List fileList = Arrays.asList(files);Collections.sort(fileList, new Comparator<File>() {@Overridepublic int compare(File o1, File o2) {if (o1.isDirectory() && o2.isFile())return -1;if (o1.isFile() && o2.isDirectory())return 1;return o1.getName().compareTo(o2.getName());}});for (File file1 : files) {if (file1.isDirectory()) {FileNameList.add(file1.getName());}}return FileNameList;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

基于最近修改时间:

/*** 按文件修改时间排序* @param filePath*/public static ArrayList<String> orderByDate(String filePath) {ArrayList<String> FileNameList = new ArrayList<String>();File file = new File(filePath);File[] files = file.listFiles();Arrays.sort(files, new Comparator<File>() {public int compare(File f1, File f2) {long diff = f1.lastModified() - f2.lastModified();if (diff > 0)return 1;else if (diff == 0)return 0;elsereturn -1;// 如果 if 中修改为 返回-1 同时此处修改为返回 1 排序就会是递减}public boolean equals(Object obj) {return true;}});for (File file1 : files) {if (file1.isDirectory()) {FileNameList.add(file1.getName());}}return FileNameList;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

基于大小:

/*** 按文件大小排序* @param filePath*/public static ArrayList<String> orderBySize(String filePath) {ArrayList<String> FileNameList = new ArrayList<String>();File file = new File(filePath);File[] files = file.listFiles();List<File> fileList = Arrays.asList(files);Collections.sort(fileList, new Comparator<File>() {public int compare(File f1, File f2) {long s1 = getFolderSize(f1);long s2 = getFolderSize(f2);long diff = s1 - s2;if (diff > 0)return 1;else if (diff == 0)return 0;elsereturn -1;// 如果 if 中修改为 返回-1 同时此处修改为返回 1 排序就会是递减}public boolean equals(Object obj) {return true;}});for (File file1 : files) {if (file1.isDirectory()) {FileNameList.add(file1.getName());}}return FileNameList;}/*** 获取文件夹大小* @param file File实例* @return long*/public static long getFolderSize(File file) {long size = 0;try {java.io.File[] fileList = file.listFiles();for (int i = 0; i < fileList.length; i++) {if (fileList[i].isDirectory()) {size = size + getFolderSize(fileList[i]);} else {size = size + fileList[i].length();}}} catch (Exception e) {e.printStackTrace();}return size;}

Android 之文件夹排序相关推荐

  1. android 获取文件夹下的所有文件

    昨天,在做工作时,需要遍历所有一个文件夹下的所有文件夹,当时自己也不知道怎么做,后来在网上搜索了一些资料,发现其实也很简单. 1.获取SD是否可以读写,如果可以,则传入文件的路径 /*读取输入的某个文 ...

  2. android 删除目录下所有文件大小,Android 删除文件夹(文件夹以及文件夹下所有的文件)、文件...

    1.Android 删除文件夹(文件夹以及文件夹下所有的文件) //删除文件夹和文件夹里面的文件 public static void deleteDirWihtFile(File dir) { if ...

  3. android data文件夹操作

    1,看代码 public class DBTest extends Activity {SQLiteDatabase db;Button bn = null;ListView listView;@Ov ...

  4. android sdk文件位置,Android SDK文件夹位于何处?

    我通过Air for Android用Adobe Flash创建了一个.apk应用程序.现在,我想通过这款Blackberry在线打包机为黑莓App World做好准备:https://bdsc.we ...

  5. Android获取文件夹路径

    Android获取文件夹路径 应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的. 大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中. ...

  6. android让文件按顺序列表,Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先...

    排序规则 由于是中国人,习惯性看中文文件夹放前面比较顺眼,因此在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上, ...

  7. Android 实时文件夹

    实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件.要创建一个实时文件夹,必须要有两个方面的支持. 1,要定义一个用来创建实时文件夹的Activity. 2,所指定数 ...

  8. Android各个文件夹对应的分辨率?

    #一. 描述 各个分辨率对应Android的图片文件夹? #二.对应分辨率 转载于:https://juejin.im/post/5b3ac699e51d4555687ab6b0

  9. android 浏览文件夹,如何浏览android中的文件夹并获取所选文件夹的路径

    当我单击一个按钮,显示一个文件浏览器时,我可以选择一个文件夹并返回它的路径.我得到这个路径将文件复制到该路径. 但我不知道如何实现这一点. 我还在Stackoverflow中寻找这个问题,但我没有找到 ...

  10. android camera 检测,检测Android Camera文件夹

    我想检测每个 Android设备上的相机文件夹.据我所知,这个文件夹与制造商不同,并且无法保证设备上甚至还有一个DCIM文件夹. 这是我现在用来获取文件的方法: private static fina ...

最新文章

  1. Centos MySQL 5.7安装、升级教程
  2. linux系统怎么清理,linux系统怎么清理废物清理
  3. sort函数——利用函数实现快速排序c++
  4. Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutputStream用法)
  5. 【CodeForces - 244B】Undoubtedly Lucky Numbers (dfs打表 + 二分)
  6. 在Oracle DG Standby库上启用flashback database功能
  7. java 聚合_Java 8 聚合操作详解
  8. RecSys Challenge 历年推荐赛题汇总
  9. Web安全之SQL注入攻击技巧与防范
  10. matlab 求副瓣电平,一种阵列天线一维方向图的副瓣电平计算方法与流程
  11. 2018年工商银行软件开发中心面试经历
  12. Android实现中英文切换
  13. 对接飞鹅接口一直提示未注册
  14. java对于微信平台语音接收以及处理,语音下载以及arm格式转换MP3
  15. Shell-01Shell初相识
  16. 高速公路交警的经验之谈[转自QQ群]
  17. java邮箱发送验证码_java实现发送邮箱验证码——三步搞定java邮箱发送验证码
  18. 医疗器械网络安全漏洞自评报告模板
  19. matlab基础—MATLAB 变量
  20. Android 面向接口编程

热门文章

  1. 基于PSO算法的无线传感器网络的覆盖优化
  2. 注册苹果开发者账号遇到问题汇总
  3. JAVA中黄金分割点的问题
  4. 层次分析法的缺点和改进
  5. Redis数据结构之集合对象
  6. 乡村黄昏[原创诗一首]
  7. 小程序上传图片方法1(免搭建上传到小白接口免费服务器)
  8. 达梦数据库基础优化分享
  9. 有关于fprintf()函数的用法
  10. 公众号数据分析工具分析微信公众号的六大定位