Im在亞馬遜S3上存儲所有類型的文件。在亞馬遜S3桶中,所有文件存儲在不同的文件夾中,我知道在亞馬遜S3中沒有文件夾的概念。對象只能通過它們的鍵來識別。如果我存儲任何帶有'mydocs/personal/profile-pic.jpg'這樣的密鑰的文件,這意味着將在那裏創建兩個父文件夾(mydocs文件夾內的個人文件夾)。在java中計算S3對象(文件夾)大小
我想計算java中'mydocs'之類的任何文件夾的大小。我用下面給出該代碼桶計算總規模:
public long calculateBucketSize(String bucketName) {
long totalSize = 0;
int totalItems = 0;
ObjectListing objects = listObjects(bucketName);
do {
for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) {
totalSize += objectSummary.getSize();
totalItems++;
}
objects = listNextBatchOfObjects(objects);
} while (objects.isTruncated());
System.out.println("Amazon S3 bucket: " + bucketName + " containing "
+ totalItems + " objects with a total size of " + totalSize
+ " bytes.");
return totalSize;
}
此方法將返回桶總規模。我想計算任何單個文件夾的大小。任何幫助將不勝感激。
嘗試使用對象= listObjects(bucketName /文件夾名),如在嘗試只是通過文件夾對象分析和計算總大小。 – 2013-04-11 13:41:11