Heim >Java >javaLernprogramm >So durchsuchen Sie alle Dateien in einem bestimmten Verzeichnis in Android
Im ersten Fall geht es darum, dass Android alle Dateien in einem bestimmten Verzeichnis, einschließlich Unterverzeichnissen, durchsucht und die neuesten Dateien löscht.
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()); } } }
Der zweite Fall stellt den Ordner-Traversal-Android-Code als Referenz vor. Der spezifische Inhalt ist wie folgt
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; } }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.
Weitere verwandte Artikel darüber, wie Android alle Dateien in einem bestimmten Verzeichnis durchläuft, finden Sie auf der chinesischen PHP-Website!