Android 之文件夹排序
按文件名排序
/*** 按文件名排序* @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 之文件夹排序相关推荐
- android 获取文件夹下的所有文件
昨天,在做工作时,需要遍历所有一个文件夹下的所有文件夹,当时自己也不知道怎么做,后来在网上搜索了一些资料,发现其实也很简单. 1.获取SD是否可以读写,如果可以,则传入文件的路径 /*读取输入的某个文 ...
- android 删除目录下所有文件大小,Android 删除文件夹(文件夹以及文件夹下所有的文件)、文件...
1.Android 删除文件夹(文件夹以及文件夹下所有的文件) //删除文件夹和文件夹里面的文件 public static void deleteDirWihtFile(File dir) { if ...
- android data文件夹操作
1,看代码 public class DBTest extends Activity {SQLiteDatabase db;Button bn = null;ListView listView;@Ov ...
- android sdk文件位置,Android SDK文件夹位于何处?
我通过Air for Android用Adobe Flash创建了一个.apk应用程序.现在,我想通过这款Blackberry在线打包机为黑莓App World做好准备:https://bdsc.we ...
- Android获取文件夹路径
Android获取文件夹路径 应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的. 大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中. ...
- android让文件按顺序列表,Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先...
排序规则 由于是中国人,习惯性看中文文件夹放前面比较顺眼,因此在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上, ...
- Android 实时文件夹
实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件.要创建一个实时文件夹,必须要有两个方面的支持. 1,要定义一个用来创建实时文件夹的Activity. 2,所指定数 ...
- Android各个文件夹对应的分辨率?
#一. 描述 各个分辨率对应Android的图片文件夹? #二.对应分辨率 转载于:https://juejin.im/post/5b3ac699e51d4555687ab6b0
- android 浏览文件夹,如何浏览android中的文件夹并获取所选文件夹的路径
当我单击一个按钮,显示一个文件浏览器时,我可以选择一个文件夹并返回它的路径.我得到这个路径将文件复制到该路径. 但我不知道如何实现这一点. 我还在Stackoverflow中寻找这个问题,但我没有找到 ...
- android camera 检测,检测Android Camera文件夹
我想检测每个 Android设备上的相机文件夹.据我所知,这个文件夹与制造商不同,并且无法保证设备上甚至还有一个DCIM文件夹. 这是我现在用来获取文件的方法: private static fina ...
最新文章
- Centos MySQL 5.7安装、升级教程
- linux系统怎么清理,linux系统怎么清理废物清理
- sort函数——利用函数实现快速排序c++
- Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutputStream用法)
- 【CodeForces - 244B】Undoubtedly Lucky Numbers (dfs打表 + 二分)
- 在Oracle DG Standby库上启用flashback database功能
- java 聚合_Java 8 聚合操作详解
- RecSys Challenge 历年推荐赛题汇总
- Web安全之SQL注入攻击技巧与防范
- matlab 求副瓣电平,一种阵列天线一维方向图的副瓣电平计算方法与流程
- 2018年工商银行软件开发中心面试经历
- Android实现中英文切换
- 对接飞鹅接口一直提示未注册
- java对于微信平台语音接收以及处理,语音下载以及arm格式转换MP3
- Shell-01Shell初相识
- 高速公路交警的经验之谈[转自QQ群]
- java邮箱发送验证码_java实现发送邮箱验证码——三步搞定java邮箱发送验证码
- 医疗器械网络安全漏洞自评报告模板
- matlab基础—MATLAB 变量
- Android 面向接口编程