我想知道我在外部存储库中保存的文件夹中下载文件的数量
答案 0 :(得分:6)
尝试此操作,并将 yourfolder 替换为您的实际文件夹名称
File dir = new File(Environment.getExternalStorageDirectory() + "/yourfolder");
File[] files = dir.listFiles();
int numberOfFiles = files.length;
答案 1 :(得分:2)
File sdCardRoot = Environment.getExternalStorageDirectory();
File yourDir = new File(sdCardRoot, "New Folder");
int counter = 0;
for (File f : yourDir.listFiles()) {
if (f.isFile())
{
String name = f.getName();
counter++;
Log.i("file names", name);
}
Log.d("TAG", "File count: " + counter);
}
试试这个。我之前没试过,但值得一试。干杯!
答案 2 :(得分:1)
你可以做到
int count = file.listFiles().length;
其中file
是您文件夹的路径。
此外,如果您的文件夹中有其他文件夹,则应该执行类似
的操作int count=0;
for (File file : file.listFiles())
{
if(!file.isDirectory())
count++;
}
答案 3 :(得分:1)
试试这个:
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String folderName = "MyFolder";
File f = new File(baseDir + File.Separator + folderName);
int count = f.listFiles().length
答案 4 :(得分:0)
如果文件夹内有子目录,如下所示:
- enquiredFolder
- image.jpg
- movie.mp4
- gif.gif
- someFolder
- imageInFolder.jpg
- movieInFolder.mp4
然后接受的答案将返回4
(因为在查询的文件夹中有4个文件),但是如果算上子目录,实际上有6个文件。
如果您想知道目录中的实际文件数,可以这样做:
public int getNumberOfFiles(File path) {
int numberOfFiles = 0;
if(path.exists()) {
File[] files = path.listFiles();
if (files == null) {
return numberOfFiles;
}
for (File file : files) {
if (file.isDirectory()) {
numberOfFiles++;
numberOfFiles = numberOfFiles + getNumberOfFiles(file);
} else {
numberOfFiles++;
}
}
}
return numberOfFiles;
}
这将返回目录(包括子目录)中的文件总数。