最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android基于名稱、修改時(shí)間、大小實(shí)現(xiàn)文件夾排序

 更新時(shí)間:2018年09月24日 09:28:30   作者:xueyuediana  
這篇文章主要為大家詳細(xì)介紹了Android基于名稱、修改時(shí)間、大小實(shí)現(xiàn)文件夾排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Android實(shí)現(xiàn)文件夾排序的具體代碼,供大家參考,具體內(nèi)容如下

基于名稱:

/**
 * 按文件名排序
 * @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;
 }

基于最近修改時(shí)間:

/**
 * 按文件修改時(shí)間排序
 * @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 同時(shí)此處修改為返回 1 排序就會(huì)是遞減
  }
 
  public boolean equals(Object obj) {
  return true;
  }
 
 });
 
 for (File file1 : files) {
  if (file1.isDirectory()) {
  FileNameList.add(file1.getName());
  }
 }
 return FileNameList;
 }

基于大?。?/p>

/**
 * 按文件大小排序
 * @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 同時(shí)此處修改為返回 1 排序就會(huì)是遞減
  }
 
  public boolean equals(Object obj) {
  return true;
  }
 });
 
 for (File file1 : files) {
  if (file1.isDirectory()) {
  FileNameList.add(file1.getName());
  }
 }
 return FileNameList;
 }
 
 /**
 * 獲取文件夾大小
 * @param file File實(shí)例
 * @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;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

旅游| 菏泽市| 株洲县| 洛川县| 万年县| 新乡市| 东丽区| 洪洞县| 敦化市| 宜城市| 昌江| 万载县| 郁南县| 华池县| 柳江县| 儋州市| 嘉祥县| 阿拉善盟| 大英县| 车险| 沾益县| 错那县| 巴青县| 莒南县| 迁西县| 勐海县| 永顺县| 永清县| 嘉禾县| 黎城县| 汉寿县| 和静县| 余姚市| 红安县| 乌海市| 武冈市| 砚山县| 荣成市| 南投市| 讷河市| 永康市|