當前位置:首頁 » 安卓系統 » android遍歷文件夾

android遍歷文件夾

發布時間: 2022-05-26 09:56:08

A. android 怎樣遍歷文件夾下的文件(文件夾下可能還有文件夾)

java代碼:
import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class ShuosouwenjianActivity extends Activity implements OnClickListener {

private File file;
private String path;
private String info;
private String key; //關鍵字
private TextView result; // 顯示結果
private EditText et; // 編輯view
private Button search_btn; // button view

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

result = (TextView)findViewById(R.id.TextView_Result);
et = (EditText)findViewById(R.id.key);
search_btn = (Button)findViewById(R.id.button_search);
// file = new File(Environment.getExternalStorageDirectory().getPath());
file = new File("/sdcard/");
info = getString(R.string.info);

search_btn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
path = "";
result.setText("");
key = et.getText().toString();
BrowserFile(file);
}

public void BrowserFile(File fileold) {
if (key.equals("")) {
Toast.makeText(this, getString(R.string.pleaseInput), Toast.LENGTH_LONG).show();
} else {
search(fileold);
if (result.getText().equals("")) {
Toast.makeText(this, getString(R.string.notFound), Toast.LENGTH_SHORT).show();
}
}
}

private void search(File fileold)
{
try{
File[] files=fileold.listFiles();
if(files.length>0)
{
for(int j=0;j<files.length;j++)
{
if(!files[j].isDirectory())
{
if(files[j].getName().indexOf(key)> -1)
{
path += "\n" + files[j].getPath();
result.setText(info+path);

//shuju.putString(files[j].getName().toString(),files[j].getPath().toString());
}
}
else{
this.search(files[j]);
}
}
}
}
catch(Exception e)
{

}
}
}

MAIN.XML代碼:
<?xml version="1.0" encoding="utf-8"?>
< AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/widget0"
>

< Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button_search"
android:layout_x="253px"
android:layout_y="5px"
android:text="@string/toSearch"
/>
< EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/key"
android:text="821077962.db"

/>
<TextView
android:layout_width="fill_parent"
android:layout_height="370px"
android:id="@+id/TextView_Result"
android:layout_x="0px"
android:layout_y="60px"
/>
< /AbsoluteLayout>
strings.xml代碼:
<?xml version="1.0" encoding="utf-8"?>
< resources>
< string name="hello">Hello World, Activity07!</string>
< string name="app_name">文件搜索</string>
< string name="toSearch">搜索</string>
< string name="info">系統SDCard目錄文件路徑:\n</string>
< string name="pleaseInput">請輸入關鍵字!</string>
< string name="notFound">SD卡中沒有相關文件!!</string>
< string name="pathError">讀取路徑出錯!!</string>
< /resources>

B. 在android中怎麼實現遍歷sd卡的所有路徑,在將找到的mp3文件顯示在listview中,請問這個問題你會了嗎

android中查找mp3文件不需要遍歷sd卡,系統會將音頻文件存到Content
Provider中,直接讀取就可以了.如果你需要,留下郵箱,我把我剛學android時寫的一個簡單音樂播放器的例子發給你

C. 關於android遍歷文件按照時間排序的問題

我覺得方便的話就是把它存成整數,date.getTime(),這樣排序就簡單了,然後返回成日期可以用new Date(time);

D. Android Studio 如何遍歷openFileOutput保存的文件

File file = new File(SYS_FILE_PATH);

if( file.isDirectory() ) {

File [] fileArray = file.listFiles();
if(null != fileArray && 0 != fileArray.length) {
for(int i = 0; i < fileArray.length; i++) {
// fileArray[i].getName();
Log.i("MainActivity.java", fileArray[i].getName());
}
}

}

android讀取指定文件夾里的所有文件

E. android開發,想要獲取手機內的所有pdf文件,該怎麼做

先獲取讀取文件的許可權,再遍歷文件夾及子文件夾,直到結束就可以了。
private void getAllFiles(File root,ArrayList<File> results){
File files[] = root.listFiles();
if(files != null){
for (File f : files){
if(f.isDirectory()){
getAllFiles(f,results);
}
else{
String name = f.getName();
String extension
= name.substring(name.lastIndexOf("."));
if(extension.Equal("pdf")){
results.add(f);
}
}
}
}
}

F. android怎麼遍歷手機上所有文件和目錄 存到

把這些指定格式文件的路徑存放到String數組 裡面去,根據點擊item條目的position 去數組裡面那路徑,,就可以了。

G. android開發,怎麼遍歷SD卡所有MP3文件並列舉出來,能不能給我最簡單的代碼呀

Cursor cursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
//遍歷媒體資料庫
if(cursor.moveToFirst()){
while (!cursor.isAfterLast()) {
//歌曲編號
int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
//歌曲id
int trackId=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));
//歌曲標題
String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));
//歌曲的專輯名:MediaStore.Audio.Media.ALBUM
String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
//歌曲的歌手名: MediaStore.Audio.Media.ARTIST
String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
//歌曲文件的路徑 :MediaStore.Audio.Media.DATA
String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
//歌曲的總播放時長:MediaStore.Audio.Media.DURATION
int ration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
//歌曲文件的大小 :MediaStore.Audio.Media.SIZE
Long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));
//歌曲文件顯示名字
String disName=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
cursor.moveToNext();
}
cursor.close();
}

H. Android中 遍歷SD根目錄 如果發現XXX文件 則把這個文件拷貝到內存中 求代碼得思路或者框架

  1. 首先創建一個以sd目錄為路徑的File對象,然後用遞歸實現遍歷這個file對象下所有的子目錄以及文件,如果發現和要找的文件,則停止遍歷。

  2. 不知道你說的將文件放到內存中是什麼意思。不理解這樣的需求。我的理解:將文件放到內存中是沒有意義的。因為對文件的所有操作都沒有將文件放到內存中的必要。比如:如果是一個xml文件,可以使用相應的庫將此文件反序列化,如果是文本文件可以使用流將文件內容讀到內存中。但是,讀到內存的目的是什麼?

  3. 不理解為什麼有從一個目錄下找到某個文件的需求,這樣做事效率極低的做法,sd中可能有幾十萬個文件,這樣顯然不是一個好的方式。

I. Android-Android下怎麼遍歷assets錄下的子文件夾

assets文件夾裡面的文件都是保持原始的文件格式,需要用AssetManager以位元組流的形式讀取文件。
assets的讀取方式:
1. 先在Activity裡面調用getAssets() 來獲取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode) 方法則指定讀取的文件以及訪問模式就能得到輸入流InputStream。
3. 然後就是用已經open file 的inputStream讀取文件,讀取完成後記得inputStream.close() 。
4.調用AssetManager.close() 關閉AssetManager。
需要注意的是,來自Resources和Assets 中的文件只可以讀取而不能進行寫的操作。

J. 安卓開發 怎麼遍歷系統文件

Android是linux內核

文件系統 根目錄 /
你可以這樣 File file = new File("/");
從這里開始遞歸,遍歷
但是你要去了解linux許可權方面的東西, 如果是root用戶的文件,你是沒有許可權查看的

熱點內容
紅警咋解壓 發布:2025-08-21 22:42:58 瀏覽:888
負73的源碼 發布:2025-08-21 22:31:51 瀏覽:675
安卓tabs是干什麼的 發布:2025-08-21 22:27:52 瀏覽:164
演算法可能解 發布:2025-08-21 22:27:33 瀏覽:691
用一台電腦作為共享伺服器 發布:2025-08-21 22:25:34 瀏覽:661
觸動精靈腳本過期 發布:2025-08-21 22:10:34 瀏覽:891
無法訪問iis 發布:2025-08-21 22:04:05 瀏覽:262
win7asp伺服器搭建 發布:2025-08-21 22:02:13 瀏覽:594
手機端編寫腳本 發布:2025-08-21 21:46:54 瀏覽:565
九游如何看帳號與密碼 發布:2025-08-21 21:42:32 瀏覽:4