第一個案例為大家分享了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; } }
就是上述幫助希望大家多多支持PHP中文網路。
更多Android如何遍歷特定目錄下所有文件相關文章請關注PHP中文網!