最新国产好看的视频,伊人天堂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;
  }

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

    Android內(nèi)核源碼 在Ubuntu上下載,編譯,安裝

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

    Android仿微信新消息提示音

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

    Android設(shè)計模式之單例模式詳解

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

    android調(diào)用webservice接口獲取信息

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

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

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

    Android將camera獲取到的YuvData在jni中轉(zhuǎn)化為Mat方法

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

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

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

最新評論

乐都县| 剑河县| 湄潭县| 苍梧县| 工布江达县| 嵊州市| 定南县| 永新县| 右玉县| 太原市| 林周县| 易门县| 广州市| 阿鲁科尔沁旗| 梓潼县| 萝北县| 宽城| 宜良县| 砚山县| 乐安县| 临夏市| 大竹县| 江阴市| 开江县| 津南区| 获嘉县| 瑞丽市| 阿拉善左旗| 大姚县| 崇明县| 乐陵市| 类乌齐县| 交口县| 龙山县| 金川县| 尉犁县| 苏尼特右旗| 龙岩市| 云安县| 宣恩县| 文登市|