1
我有一個應用程序,其中有一個目錄已創建到SDCard中,用於保存照片。我想知道在SDCard上使用該目錄有多少空間以向用戶顯示該信息。Android:如何獲得應用程序使用的存儲
我有一個應用程序,其中有一個目錄已創建到SDCard中,用於保存照片。我想知道在SDCard上使用該目錄有多少空間以向用戶顯示該信息。Android:如何獲得應用程序使用的存儲
我不知道,如果它的最好的解決辦法,但你可以做這樣的事情:
int totalSize = 0;
File root = new File("path to one of your file").getParentFile();
File[] files = root.listFiles();
for (File file: files) {
totalSize = totalSize + file.length();
}
然後總計TOTALSIZE包含的所有文件中以字節爲單位的目錄的總和。根據目錄的結構(例如,是否有任何子目錄?),您必須修改代碼。
編輯: 經過一點研究,我幾乎可以肯定,在Java中沒有直接返回目錄大小的方法。見例如這個鏈接: http://forums.sun.com/thread.jspa?threadID=640296
但是在這個鏈接http://www.codemiles.com/java/get-directory-size-in-java-t1242.html有一個我上面提到的代碼的遞歸版本來計算任何子目錄,如果可用。
還有一個小型圖書館,可以做你想做的:
http://commons.apache.org/io/api-release/index.html
但是,你必須導入這個庫。我個人寧願自己寫這個簡短的方法。
謝謝,但它應該是另一種方式更容易 – xger86x 2010-05-25 21:45:15
我編輯我的帖子 – 2010-05-25 21:54:20
謝謝,我會用它! – xger86x 2010-05-27 20:43:55