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

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

private boolean deleteLastFromFloder(String path) {

boolean success = false;

try {

ArrayList images = new ArrayList();

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 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());

}

}

}

第二个案例介绍了文件夹遍历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 listLinkedFiles(String strPath) {

LinkedList list = new LinkedList();

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 listFiles(String strPath) {

return refreshFileList(strPath);

}

public static ArrayList refreshFileList(String strPath) {

ArrayList filelist = new ArrayList();

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;

}

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值