欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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 排序就會是遞減
  }
 
  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 排序就會是遞減
  }
 
  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;
}

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

相關(guān)文章

  • Android開發(fā)自學(xué)筆記(四):APP布局下

    Android開發(fā)自學(xué)筆記(四):APP布局下

    這篇文章主要介紹了Android開發(fā)自學(xué)筆記(四):APP布局下,本文是上一篇的補(bǔ)充,需要的朋友可以參考下
    2015-04-04
  • flutter中使用流式布局示例詳解

    flutter中使用流式布局示例詳解

    這篇文章主要為大家介紹了flutter中使用流式布局示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Android 中ScrollView嵌套GridView,ListView的實(shí)例

    Android 中ScrollView嵌套GridView,ListView的實(shí)例

    這篇文章主要介紹了Android 中ScrollView嵌套GridView,ListView的實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Android編程處理窗口控件大小,形狀,像素等UI元素工具類

    Android編程處理窗口控件大小,形狀,像素等UI元素工具類

    這篇文章主要介紹了Android編程處理窗口控件大小,形狀,像素等UI元素工具類,可實(shí)現(xiàn)像素與dp的轉(zhuǎn)換、窗口寬度設(shè)置、彈出窗口中l(wèi)istview高度設(shè)置等功能,需要的朋友可以參考下
    2017-12-12
  • Android Studio 4.0 新功能中的Live Layout Inspector詳解

    Android Studio 4.0 新功能中的Live Layout Inspector詳解

    這篇文章主要介紹了Android Studio 4.0 新功能中的Live Layout Inspector,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 深入理解Android中的xmlns:tools屬性

    深入理解Android中的xmlns:tools屬性

    關(guān)于xmlns:tools屬性的介紹網(wǎng)上有很多,小編覺得有必要整理一篇介紹較為詳細(xì)的內(nèi)容給大家,下面這篇文章就很深入的介紹了關(guān)于Android中的xmlns:tools屬性,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 詳解Android4.4 RIL短信接收流程分析

    詳解Android4.4 RIL短信接收流程分析

    這篇文章主要介紹了Android4.4 RIL短信接收流程分析,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Android開發(fā)中在TableView上添加懸浮按鈕的方法

    Android開發(fā)中在TableView上添加懸浮按鈕的方法

    如果直接在TableVIewController上貼Button的話會導(dǎo)致這個(gè)會隨之滾動(dòng),下面通過本文給大家分享在TableView上實(shí)現(xiàn)位置固定懸浮按鈕的兩種方法,對tableview 懸浮按鈕感興趣的朋友一起學(xué)習(xí)吧
    2016-11-11
  • Android軟鍵盤遮擋的四種完美解決方案

    Android軟鍵盤遮擋的四種完美解決方案

    輸入密碼時(shí)輸入框被系統(tǒng)鍵盤遮擋了,大大降低了用戶操作體驗(yàn),在開發(fā)中如何解決軟鍵盤遮擋問題呢,下面小編給大家?guī)砹怂姆Nandroid軟鍵盤遮擋問題,感興趣的朋友一起學(xué)習(xí)吧
    2016-10-10
  • Android ellipsize的小問題介紹

    Android ellipsize的小問題介紹

    使用TextView的時(shí)候,需要長度過長自動(dòng)顯示省略號,android里有原生的支持,本文將針對此問題進(jìn)行深入剖析,需要的朋友可以參考
    2012-11-11

最新評論