Невозможно рассчитать размер папки в Gingerbread (2.3)

Я вычисляю размер папки в своем приложении, используя «file.length ()». Он отлично работает в других версиях ОС Android, и я получаю размер своей папки в байтах. Но проблема в том, что когда я запускаю тот же код для устройства, имеющего Gingerbread, он всегда показывает мне размер как 0 байтов. Я не могу понять проблему. Вот мой код: –

File file1=new File(android.os.Environment.getExternalStorageDirectory(),"/.Gallery"); double total_length = file1.length(); 

Пожалуйста, помогите мне решить эту проблему, любая помощь будет заметна.

Заранее спасибо.

От документального андроида:

File.lenght (): возвращает длину этого файла в байтах. Возвращает 0, если файл не существует. Результат для каталога не определен .

Вы можете использовать это для вычисления длины каталога:

 public static long getFolderSize(File folderPath) { long totalSize = 0; if (folderPath == null) { return 0; } if (!folderPath.isDirectory()) { return 0; } File[] files = folderPath.listFiles(); if(files != null){ for (File file : files) { if (file.isFile()) { totalSize += file.length(); } else if (file.isDirectory()) { totalSize += file.length(); totalSize += getFolderSize(file); } } } return totalSize; }