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

第一个案例为大家分享了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如何遍历特定目录下所有文件 的全部内容, 来源链接: utcz.com/z/329970.html

回到顶部