Android如何遍歷特定目錄下所有文件
第一個(gè)案例為大家分享了Android遍歷特定目錄下所有文件,包含子目錄的,并刪除最新創(chuàng)建的。
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());
}
}
}
第二個(gè)案例介紹了文件夾遍歷Android代碼,供大家參考,具體內(nèi)容如下
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;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android編寫文件瀏覽器簡(jiǎn)單實(shí)現(xiàn)
- Android中調(diào)用系統(tǒng)的文件瀏覽器及自制簡(jiǎn)單的文件瀏覽器
- 微信或手機(jī)瀏覽器在線顯示office文件(已測(cè)試ios、android)
- 讀寫Android中assets目錄下的文件的方法詳解
- Android遍歷所有文件夾和子目錄搜索文件
- 讀取android根目錄下的文件或文件夾實(shí)例
- Android 將文件下載到指定目錄的實(shí)現(xiàn)代碼
- Android編程實(shí)現(xiàn)將壓縮數(shù)據(jù)庫(kù)文件拷貝到安裝目錄的方法
- Android開發(fā)實(shí)現(xiàn)讀取assets目錄下db文件的方法示例
- Android編程實(shí)現(xiàn)簡(jiǎn)單文件瀏覽器功能
相關(guān)文章
Android 防止過(guò)快(多次)點(diǎn)擊的實(shí)現(xiàn)方法
很多用戶經(jīng)常會(huì)出現(xiàn)過(guò)快且多次點(diǎn)擊同一按鈕的情況,本篇文章主要介紹了Android 防止過(guò)快點(diǎn)擊的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Android自定義RecyclerView Item頭部懸浮吸頂
這篇文章主要為大家詳細(xì)介紹了Android自定義RecyclerView Item頭部懸浮吸頂,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Android實(shí)現(xiàn)美團(tuán)外賣底部導(dǎo)航欄動(dòng)畫
這篇文章主要介紹了Android實(shí)現(xiàn)美團(tuán)外賣底部導(dǎo)航欄動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Android滑動(dòng)刪除數(shù)據(jù)功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android滑動(dòng)刪除功能2017-01-01
Android Camera實(shí)現(xiàn)毫秒級(jí)拍照實(shí)例
本篇文章主要介紹了Android Camera實(shí)現(xiàn)毫秒級(jí)拍照實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-06-06

