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

Android 實現(xiàn)文件夾排序功能的實例代碼

 更新時間:2018年09月21日 08:40:29   作者:李培能  
這篇文章主要介紹了Android 實現(xiàn)文件夾排序功能的實例代碼,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下

按文件名排序

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

總結

以上所述是小編給大家介紹的Android 實現(xiàn)文件夾排序功能的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • Android EditText監(jiān)聽回車鍵并處理兩次回調問題

    Android EditText監(jiān)聽回車鍵并處理兩次回調問題

    這篇文章主要介紹了Android EditText監(jiān)聽回車鍵并處理兩次回調問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Flutter集成高德地圖并添加自定義Maker的實踐

    Flutter集成高德地圖并添加自定義Maker的實踐

    本文主要介紹了Flutter集成高德地圖并添加自定義Maker的實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • Android 列表選擇框 Spinner詳解及實例

    Android 列表選擇框 Spinner詳解及實例

    這篇文章主要介紹了Android 列表選擇框 Spinner詳解及實例的相關資料,需要的朋友可以參考下
    2017-06-06
  • Android內核源碼 在Ubuntu上下載,編譯,安裝

    Android內核源碼 在Ubuntu上下載,編譯,安裝

    本文主要介紹Android內核源碼,想學習深入研究Android的朋友肯定要看看Android內核知識的,這里對下載Android內核源代碼的下載,安裝,編譯做了詳細的介紹,有興趣的小伙伴可以參考下
    2016-08-08
  • Android仿微信新消息提示音

    Android仿微信新消息提示音

    本篇文章主要介紹了Android仿微信新消息提示音的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • Android設計模式之單例模式詳解

    Android設計模式之單例模式詳解

    這篇文章主要為大家詳細介紹了Android設計模式之單例模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • android調用webservice接口獲取信息

    android調用webservice接口獲取信息

    這篇文章主要為大家詳細介紹了android調用webservice接口獲取信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Android實現(xiàn)IP地址輸入框的方法示例代碼

    Android實現(xiàn)IP地址輸入框的方法示例代碼

    輸入框是我們日常開發(fā)中經常遇到的一個控件,如果更好的控制輸入框是對用戶體驗很重要的一步,所以下面這篇文章主要給大家介紹了關于Android如何實現(xiàn)IP輸入框的相關資料,需要的朋友可以參考下。
    2017-10-10
  • Android將camera獲取到的YuvData在jni中轉化為Mat方法

    Android將camera獲取到的YuvData在jni中轉化為Mat方法

    今天小編就為大家分享一篇Android將camera獲取到的YuvData在jni中轉化為Mat方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Android開發(fā)中應用程序分享功能實例

    Android開發(fā)中應用程序分享功能實例

    這篇文章主要介紹了Android開發(fā)中應用程序分享功能,結合實例形式分析了基于Intent實現(xiàn)Android程序分享功能的技巧,需要的朋友可以參考下
    2016-02-02

最新評論

陇南市| 龙门县| 大邑县| 凭祥市| 河西区| 嘉义市| 门头沟区| 来凤县| 甘孜县| 咸阳市| 临城县| 禄劝| 板桥市| 策勒县| 宜宾县| 阿坝县| 永安市| 香河县| 永德县| 绍兴市| 盘山县| 云龙县| 仙游县| 拉萨市| 彭州市| 德兴市| 河东区| 南汇区| 云梦县| 托克逊县| 新兴县| 盖州市| 和静县| 临安市| 涪陵区| 塔河县| 襄樊市| 桂林市| 岫岩| 连州市| 开平市|