Android如何遍历特定目录下所有文件
作者:lijiao 时间:2022-12-11 12:27:33
第一个案例为大家分享了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());
}
}
}
第二个案例介绍了文件夹遍历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;
}
}
标签:android,遍历,文件
0
投稿
猜你喜欢
Java使用组件编写窗口实现网上文件下载
2023-09-14 06:08:36
C#实现的字符串转MD5码函数实例
2023-03-02 15:34:43
android 使用Xml文件定义Shape方式
2022-09-08 19:19:38
Java 读写锁源码分析
2021-08-31 01:48:54
SpringBoot中JPA实现Sort排序的三种方式小结
2022-02-12 23:35:12
Android框架Volley之利用Imageloader和NetWorkImageView加载图片的方法
2023-07-06 00:21:08
Spring Boot 整合mybatis 与 swagger2
2022-05-01 06:32:17
C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)
2021-05-27 03:55:49
学习使用Android Chronometer计时器
2022-02-20 16:58:25
shiro无状态web集成的示例代码
2021-10-13 06:15:46
谈谈Java中自定义注解及使用场景
2022-08-28 04:45:39
java中的interface接口实例详解
2023-10-12 22:03:10
Android实现将一个Activity设置成窗口样式的方法
2023-07-04 18:56:38
详细解读Java编程中面向字符的输入流
2023-09-27 10:39:21
C# Split分隔字符串的应用(C#、split、分隔、字符串)
2021-12-01 23:13:51
Java 滑动窗口最大值的实现
2021-09-10 15:34:20
SpringBoot整合dataworks的实现过程
2023-11-29 12:13:09
java参数传递之值传递和引用传递
2021-09-26 10:28:46
Spring启动时实现初始化有哪些方式?
2023-09-20 18:25:57
Mybatis实现增删改查
2022-05-26 22:00:20