導航:首頁 > 操作系統 > android遍歷所有文件

android遍歷所有文件

發布時間:2023-05-22 04:47:32

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

遍歷文件夾可以有2中方式:
A.不使用遞歸:

import java.io.File;

import java.util.LinkedList;

public class FileSystem {

public static void main(String[] args) {

long a = System.currentTimeMillis();

LinkedList list = new LinkedList();

File dir = new File("c:\\java\\");

File file[] = dir.listFiles();

for (int i = 0; i < file.length; i++) {

if (file[i].isDirectory())

list.add(file[i]);

else

System.out.println(file[i].getAbsolutePath());

}

File tmp;

while (!list.isEmpty()) {

tmp = list.removeFirst();

if (tmp.isDirectory()) {

file = tmp.listFiles();

if (file == null)

continue;

for (int i = 0; i < file.length; i++) {

if (file[i].isDirectory())

list.add(file[i]);

else

System.out.println(file[i].getAbsolutePath());

}

} else {

System.out.println(tmp.getAbsolutePath());

}

}

System.out.println(System.currentTimeMillis() - a);

}

}
B.使用遞歸:

import java.io.File;

import java.util.ArrayList;

public class FileSystem1 {

private static ArrayList filelist = new ArrayList();

public static void main(String[] args) {

long a = System.currentTimeMillis();

refreshFileList("c:\\java");

System.out.println(System.currentTimeMillis() - a);

}

public static void refreshFileList(String strPath) {

File dir = new File(strPath);

File[] files = dir.listFiles();

if (files == null)

return;

for (int i = 0; i < files.length; i++) {

if (files[i].isDirectory()) {

refreshFileList(files[i].getAbsolutePath());

} else {

String strFileName = files[i].getAbsolutePath().toLowerCase();

System.out.println("---"+strFileName);

filelist.add(files[i].getAbsolutePath());

}

}

}

}

2. Android 遍歷手機根目錄下的所有文檔類文件在listView上展示,文件稍微多一點響應速度就很慢,怎麼優化

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

3. 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>

4. 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 中的文件只可以讀取而不能進行寫的操作。

5. Android如何遍歷特定目錄下所有文件

遍歷?用File類就行

6. 在android系統中怎麼用循環遍歷SD中的MP3 文件,把mp3文件找出來

如果是遍歷的話,使用file的list方法獲取root目錄下的所有file,然後判斷是否Directory,繼續list,遞歸
如果是mp3文件,記錄位置

7. 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();
}

閱讀全文

與android遍歷所有文件相關的資料

熱點內容
照片怎麼轉換成pdf 瀏覽:129
女生學編程好嗎 瀏覽:236
目前絕地求生怎麼看伺服器地址大全 瀏覽:825
論人類不平等的起源pdf 瀏覽:436
壓縮機螺桿加工 瀏覽:368
怎麼把網站伺服器設置在境外 瀏覽:162
單片機編程取反 瀏覽:897
51單片機課程設計課題 瀏覽:900
手機淘寶登錄怎麼加密碼 瀏覽:486
linux快捷方式圖標 瀏覽:38
陽光車險的app叫什麼名字 瀏覽:462
購買單片機的器件時需要給商家啥 瀏覽:535
並行編譯技術的發展 瀏覽:550
阿里雲伺服器安裝管理 瀏覽:551
java手機開發教程 瀏覽:675
我的世界怎麼刪除伺服器數據 瀏覽:672
linux內存子系統 瀏覽:973
加密思維幣 瀏覽:691
魅族訪客文件夾 瀏覽:53
添加的文件夾怎麼找 瀏覽:618