软件编程
位置:首页>> 软件编程>> Android编程>> Android如何遍历特定目录下所有文件

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

作者:lijiao  发布时间:2022-12-11 12:27:33 

标签: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;
 }
}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com