首页 > Java > java教程 > 正文

Android如何遍历特定目录下所有文件

高洛峰
发布: 2017-01-17 15:23:52
原创
1530人浏览过

第一个案例为大家分享了android遍历特定目录下所有文件,包含子目录的,并删除最新创建的。

private boolean deleteLastFromFloder(String path) {
   boolean success = false;
   try {
     ArrayList<File> images = new ArrayList<File>();
     getFiles(images, path);
     File latestSavedImage = images.get(0);
     if (latestSavedImage.exists()) {
       for (int i = 1; i < images.size(); i++) {
         File nextFile = images.get(i);
         if (nextFile.lastModified() > latestSavedImage.lastModified()) {
           latestSavedImage = nextFile;
         }
       }
 
       Log.e("brady", "images = " + latestSavedImage.getAbsolutePath());
       success = latestSavedImage.delete();
     }
   } catch (Exception e) {
     e.printStackTrace();
   }
   return success;
 }
 
 private void getFiles(ArrayList<File> fileList, String path) {
   File[] allFiles = new File(path).listFiles();
   for (int i = 0; i < allFiles.length; i++) {
     File file = allFiles[i];
     if (file.isFile()) {
       fileList.add(file);
     } else if (!file.getAbsolutePath().contains(".thumnail")) {
       getFiles(fileList, file.getAbsolutePath());
     }
   }
 }
登录后复制

   

易森网络企业版
易森网络企业版

如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld

易森网络企业版 0
查看详情 易森网络企业版

第二个案例介绍了文件夹遍历Android代码,供大家参考,具体内容如下

package com.once;
  
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
/**
 * 文件夹遍历
 * @author once
 *
 */
public class DirTraversal {
    
  //no recursion
  public static LinkedList<File> listLinkedFiles(String strPath) {
    LinkedList<File> list = new LinkedList<File>();
    File dir = new File(strPath);
    File file = dir.listFiles();
    for (int i = 0; i < file.length; i++) {
      if (file.isDirectory())
        list.add(file);
      else
        System.out.println(file.getAbsolutePath());
    }
    File tmp;
    while (!list.isEmpty()) {
      tmp = (File) list.removeFirst();
      if (tmp.isDirectory()) {
        file = tmp.listFiles();
        if (file == null)
          continue;
        for (int i = 0; i < file.length; i++) {
          if (file.isDirectory())
            list.add(file);
          else
            System.out.println(file.getAbsolutePath());
        }
      } else {
        System.out.println(tmp.getAbsolutePath());
      }
    }
    return list;
  }
  
    
  //recursion
  public static ArrayList<File> listFiles(String strPath) {
    return refreshFileList(strPath);
  }
  
  public static ArrayList<File> refreshFileList(String strPath) {
    ArrayList<File> filelist = new ArrayList<File>();
    File dir = new File(strPath);
    File files = dir.listFiles();
  
    if (files == null)
      return null;
    for (int i = 0; i < files.length; i++) {
      if (files.isDirectory()) {
        refreshFileList(files.getAbsolutePath());
      } else {
        if(files.getName().toLowerCase().endsWith("zip"))
          filelist.add(files);
      }
    }
    return filelist;
  }
}
登录后复制

   

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

更多Android如何遍历特定目录下所有文件相关文章请关注PHP中文网!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号