Android如何遍历特定目录下所有文件
程序员文章站
2024-03-04 20:57:48
第一个案例为大家分享了android遍历特定目录下所有文件,包含子目录的,并删除最新创建的。
private boolean deletelastfromflo...
第一个案例为大家分享了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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: java中double转化为BigDecimal精度缺失的实例
下一篇: I/O流