【发布时间】:2014-11-20 20:07:31
【问题描述】:
我需要显示目录中指定文件夹中的文件 例如根路径是 Directory:/sdcard/GDM/ 如何列出此文件夹中的文件。
【问题讨论】:
标签: java javascript android
我需要显示目录中指定文件夹中的文件 例如根路径是 Directory:/sdcard/GDM/ 如何列出此文件夹中的文件。
【问题讨论】:
标签: java javascript android
要从您的 sdcard 中获取文件列表,
List<File> listFilesRoot = getFilesFromRoot(new File("YOUR PATH"));
private List<File> getFilesFromRoot(File parentDir) {
ArrayList<File> listFiles = new ArrayList<File>();
File[] files = parentDir.listFiles();
for (File file : files) {
if (!file.isDirectory()) {
listFiles.add(file);
}
}
return listFiles;
}
【讨论】:
File 类为您提供了list() 方法:
返回命名文件和目录的字符串数组 此抽象路径名表示的目录。如果这个抽象路径名 不表示目录,则此方法返回 null。否则 返回一个字符串数组,每个文件或目录对应一个 目录。表示目录本身和目录的名称 结果中不包含父目录。每个字符串都是一个文件 名称而不是完整路径。
无法保证结果数组中的名称字符串 将以任何特定顺序出现;它们不是,特别是, 保证按字母顺序出现。
因此,代码将类似于:
File root = new File("/sdcard/GDM");
String[] files = root.list();
if( files != null ){
// do something
}
更新:
要获取文件的大小,您将需要 length() 方法。这将返回以字节为单位的大小。如果要以 MB 为单位,则需要将其除以 1024*1024
File f = new File("/path/to/some/file");
double sizeInMb = f.length() / (1024*1024);
【讨论】: