我正在尝试列出我所创建的目录中的所有文件,当我创建目录时,我将每个联系人的文件变形为dir。然后,我希望能够列出目录内/内的所有文件。我尝试了一切,包括
String a = listFiles().tostring();
然而,没有任何反应。总结一下,我想列出SD卡中自定义目录中的所有文件。
这是我的更新代码
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
FileInputStream iStream = new FileInputStream(path);
String read = path.getbytes().tostring();
答案 0 :(得分:1)
你必须看到这个教程how to build an android file browser它会对你有很大的帮助!!
此one列出sdcard中的所有文件夹和文件,您可以通过更改代码中 currentDir 的值来使其适应您所需的内容
答案 1 :(得分:0)
此代码是整个sdcard和列表文件。这可能对你有帮助..!
import java.io.*;
import java.util.*;
public class DirUtils {
public static List recurseDir(String dir) {
String result, _result[];
result = recurseInDirFrom(dir);
_result = result.split("\\|");
return Arrays.asList(_result);
}
private static String recurseInDirFrom(String dirItem) {
File file;
String result,list[];
result = dirItem;
file = new File(dirItem);
if (file.isDirectory()) {
list = file.list();
File[] fileslist = file.listFiles(new MyDocFileFilter());
if (fileslist != null) {
for (File file1: fileslist) {
System.out.println(file1.getAbsolutePath());
}
}
else {
System.out.println("No Subdirectory Found.");
}
for (int i = 0; i < list.length; i++)
result = result + "\n" + recurseInDirFrom(dirItem + File.separatorChar + list[i]);
}
return result;
}
static class MyDocFileFilter implements FileFilter
{
private final String[] myDocumentExtensions
= new String[] {".java", ".png", ".html", "class"};
public boolean accept(File file) {
if (!file.isFile())
return false;
for (String extension : myDocumentExtensions) {
if (file.getName().toLowerCase().endsWith(extension))
return true;
}
return false;
}
}
public static void main(String arg[]) {
DirUtils.recurseDir("your path ");
}
}