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

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

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

本文實例為大家分享了Android實現(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;
 }

基于最近修改時間:

/**
 * 按文件修改時間排序
 * @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;
 }

基于大?。?/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 同時此處修改為返回 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;
}

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

相關(guān)文章

最新評論

绩溪县| 商丘市| 永济市| 河北省| 报价| 永年县| 闵行区| 台南市| 筠连县| 额济纳旗| 肇源县| 延安市| 班戈县| 修文县| 蒲江县| 莒南县| 武义县| 固原市| 祁连县| 藁城市| 鹤庆县| 英德市| 东海县| 阿图什市| 桦甸市| 崇信县| 边坝县| 濮阳市| 吉林省| 长顺县| 于都县| 清原| 荔浦县| 莱西市| 彰化市| 郁南县| 开化县| 筠连县| 买车| 临澧县| 焉耆|