Android 实现文件夹排序功能的实例代码
2018-09-21 08:40
951 查看
按文件名排序
/** * 按文件名排序 * @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>() { @Override public 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>() { @Override public 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> 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; else return -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 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; else return -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 实现文件夹排序功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章推荐
- Android 偷拍功能实现(手机关闭依然拍照)详解及实例代码
- [Android开发] 在项目中快速实现 列表字母排序滑动索引 功能原理以及过程代码
- Java实现对中文字符串的排序功能实例代码
- Java实现对中文字符串的排序功能实例代码
- Android清空编辑框内容功能的实现实例代码
- Android使用AudioRecord实现暂停录音功能实例代码
- Android中利用App实现消息推送机制的代码实例
- java实现简单留言板功能的代码实例
- 不良代码展示-Android排序的实现
- 实例讲解Android中如何实现图片的异步加载功能
- php实现文件上传功能的代码实例
- android自动更新功能实现 代码
- Android应用自动更新功能的代码实现
- Jquery AjaxUpload实现文件上传功能代码实例教程
- 用两个栈实现一个队列的功能 && 两个队列实现一个栈的功能 && 代码实例
- c# .net中如何实现图片防盗链功能的代码实例
- 用两个栈实现一个队列的功能 && 两个队列实现一个栈的功能 && 代码实例
- android 实现汉字排序功能的 整理和思考
- Asp.net实现在线人数统计功能代码实例
- 用两个栈实现一个队列的功能 && 两个队列实现一个栈的功能 && 代码实例