ajviewer软件免费下载,八年级上册英语视频,古城谍影好看吗
本文实例为大家分享了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>() { @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 studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论