1. 程式人生 > >Android遍歷手機內所有檔案

Android遍歷手機內所有檔案

通常使用遞迴的方式遍歷記憶體中的所有檔案

首先遍歷所有檔案的方法

//遍歷手機所有檔案 並將路徑名存入集合中 引數需要 路徑和集合
public void recursionFile(File dir, List<String> images) {
    //得到某個資料夾下所有的檔案
File[] files = dir.listFiles();
//檔案為空
if (files == null) {
        return;
}
    //遍歷當前檔案下的所有檔案
for (File file : files) {
        //如果是資料夾
if (file.isDirectory()) {
            //
則遞迴(方法自己呼叫自己)繼續遍歷該資料夾 recursionFile(file,images); } else { //如果不是資料夾 則是檔案 //如果檔名以 .mp3結尾則是mp3檔案 if (file.getName().endsWith(".jpg")) { //往圖片集合中 新增圖片的路徑 images.add(file.getAbsolutePath()); } } } }

然後呼叫該遍歷方法得到自己想要的內容

//找到所有圖片(實則為圖片所在地址) 並存入集合中
public ArrayList<String> getimages
() { //獲得外部儲存的根目錄 File dir = Environment.getExternalStorageDirectory(); ArrayList<String> images = new ArrayList<String>(); //呼叫遍歷所有檔案的方法 recursionFile(dir,images); //返回檔案路徑集合 return images; }

最後別忘記了在AndroidManifest.xml檔案中加上對手機記憶體的訪問許可權

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>

相關推薦

Android手機所有檔案

通常使用遞迴的方式遍歷記憶體中的所有檔案 首先遍歷所有檔案的方法 //遍歷手機所有檔案 並將路徑名存入集合中 引數需要 路徑和集合 public void recursionFile(File di

php資料夾所有檔案

function listFiles($dir) { $files = array(); $handle = opendir($dir); while ($file = readdir($handle)) { if (

js陣列迴圈陣列所有元素的方法

在js中陣列遍歷最簡單的辦法就是使用for然後再利用arr.length長度作為for最大限度值即可解決了,下面我們來看看一些有用的例項 例,for(){}遍歷陣列 <script type="text/javascript">  <!-- var

利用boost路徑下所有檔案,並判斷檔案是否是資料夾

#include<boost/filesystem.hpp> void GetFileNameFromDir(const char* rootPath) {     boost::filesystem::path dir(rootPath);     if (b

Linux C 程式設計之子目錄及所有檔案

轉載自:http://blog.csdn.net/jeff_nie/article/details/8464900 遍歷子目錄用的方法是遞迴呼叫,先判斷子目錄流指標所指向的檔案是否為目錄檔案。如果是,該函式將呼叫自身去遍歷子目錄;如果不是,則輸出檔名,繼續遍歷當前目錄

linux C語言資料夾所有檔案

#include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <string.h> #include <stdio.h> voi

Excel VBA 目錄下所有檔案

         Application.ScreenUpdating = False         Dim MyDir As String         MyDir = ThisWorkbo

unity3D使用C#場景所有元素進行操作

最近入門Unity3D,跟著教程做完了survival射擊遊戲,就想加一個功能,就是按一個按鈕螢幕上的怪物都清空。 如圖右下角所示。 我的方法是賦予所有怪物一個標籤Tag,然後根據標籤銷燬Gameobject。 百度了好一陣子怎麼遍歷所有元素,然而大部分都是說怎麼遍歷子元素

python 目錄下所有檔案

#!/usr/bin/python # -*- coding: utf-8 -*- import os def gci(filepath): #遍歷filepath下所有檔案,包括子目錄 files = os.listdir(filepath) for fi in

Python遞迴目錄下所有檔案查詢指定檔案

之前看到網上有人說『os.path.isdir()判斷必須寫絕對路徑』,當時心想Python不是有迭代上下文嗎,為什麼不行?遂作本文驗證之 程式碼部分 考慮用一個path變數指代當前遍歷元素的絕對路徑(正確做法) def search(ro

PHP 目錄下面所有檔案(案例)

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style&g

獲取本地所有磁碟並磁碟下所有檔案、資料夾

獲取本地磁碟符號 void GetComputerDisk() //獲取本地電腦的磁碟符號 { OutputDebugString("GetComputerDisk"); TCHAR buf[100]; DWORD len = GetLogicalDriveStrin

c++資料夾所有檔案

#include<vector> #include<string> #include<io.h> #include<iostream> using namespace std; char * filePath = "D:\\JPEGImages

Purebasic資料夾所有檔案

要寫一個自動切換桌面背景的小程式,遇到遍歷資料夾的問題,弄了一個下午終於搞定了。 程式碼如下: Global NewList DirID.i() Global NewList FList.s() Declare GetAllFile(s.s) Procedure GetA

android所有子檢視

import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.MotionEvent

用FindFirstFile和FindNextFile函式指定目錄的所有檔案

本文利用FindFirstFile(),FindNextFile()函式歷遍指定目錄的所有檔案,最基礎的歷遍所有檔案。一下程式碼尚無法解決檔名為中文時的亂碼問題,以及無法分別無後綴的檔名和資料夾名的區別。http://blog.csdn.net/u012005313/article/details/464

RapidXml 讀取檔案節點的所有屬性

RapidXml 試圖成為最快的 XML DOM 解析工具包,同時保證解析結果的可用性、可移植性以及與 W3C 標準的相容性。RapidXml 使用 C++ 編寫,因此在操作同一資料時,其解析速度接近於 strlen() 函式。 整個解析工具包包含在一個頭檔案中,所以

目錄下所有各級子目錄檔案的全路徑

public System.Collections.Specialized.StringCollection GetAllFiles(string rootdir){ System.Collections.Specialized.StringCollection result

Android--SQLite資料庫下的所有表名

package cn.mrzhu.foreignkey; import android.app.Activity; import android.content.Context; import android.database.Cursor; impo

目錄下所有資料夾和檔案-------遞迴刪除空目錄

遍歷資料夾下所有檔案有兩種方法備註p為列印函式相當於print_r(),var_dump()的友好輸出第一種://遍歷資料夾下所有檔案和目錄//opendir():將目錄下的檔案已資源的形式儲存 //r