我想查看我在外部存儲器中擁有的所有文件,我有這個向用戶顯示文本的庫,但是當我使用它來顯示子文件文件,它說這樣的:
(Ljava.File;@
我如何得到它顯示實際文件的名稱給用戶?另外,如何將特定文件夾的名稱顯示給用戶?說文件#3?查看外部存儲器中的文件列表
File[] files = myDir.listFiles();
UIHelper.displayText(this, R.id.textView1, files.toString());
我想查看我在外部存儲器中擁有的所有文件,我有這個向用戶顯示文本的庫,但是當我使用它來顯示子文件文件,它說這樣的:
(Ljava.File;@
我如何得到它顯示實際文件的名稱給用戶?另外,如何將特定文件夾的名稱顯示給用戶?說文件#3?查看外部存儲器中的文件列表
File[] files = myDir.listFiles();
UIHelper.displayText(this, R.id.textView1, files.toString());
Checl如果SD卡安裝與否。
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
{
///mounted
}
獲取SD卡的
File dir= new File(android.os.Environment.getExternalStorageDirectory());
然後調用
walkdir(dir);
ArrayList<String> filepath= new ArrayList<String>();//contains list of all files ending with
public void walkdir(File dir) {
File listFile[] = dir.listFiles();
if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {// if its a directory need to get the files under that directory
walkdir(listFile[i]);
} else {// add path of files to your arraylist for later use
//Do what ever u want
filepath.add(listFile[i].getAbsolutePath());
}
}
}
}
您可以使用遞歸方法來掃描你的所有的SD卡:
String sdCardState = Environment.getExternalStorageState();
if(!sdCardState.equals(Environment.MEDIA_MOUNTED)) {
//displayMessage("No SD Card.");
return;
} else {
File root = Environment.getExternalStorageDirectory();
lookForFilesAndDirectories(root);
}
// lookForFilesAndDirectories() method:
public void lookForFilesAndDirectories(File file) {
if(file.isDirectory()) {
String[] filesAndDirectories = dir.list();
for(String fileOrDirectory : filesAndDirectories) {
File f = new File(dir.getAbsolutePath() + "/" + fileOrDirectory);
lookForFilesAndDirectories(f);
}
} else {
doSomethingWithFile(f);
}
}
我喜歡這種遞歸方法。在代碼中修復兩個小錯誤 - dir應該是文件 – Mick 2015-05-30 19:43:20
的路徑這是ExternalStorage
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
Log.d("Files", "Path: " + path);
File f = new File(path);
File file[] = f.listFiles();
Log.d("Files", "Size: "+ file.length);
for (int i=0; i < file.length; i++)
{
Log.d("Files", "FileName:" + file[i].getName());
}
唐文件和文件夾的打印一覽代碼別忘了讓我下面的許可n you android Manifest
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
當然,它顯示「Ljava.File; @」,您在文件數組上調用toString。 UIHelper是你自己的一類嗎? – Blackbelt 2013-04-10 07:34:56
如何顯示我猜測的數組? – 2013-04-10 16:11:47