【发布时间】:2021-10-28 13:57:11
【问题描述】:
在我的 Azure 存储帐户中,我有一个名为 "testcontainer" 的容器。在其中,有两个文件夹,分别名为 "DATA_FILE_A" 和 "DATA_FILE_B"。我想获取所有文件夹名称。 (即"DATA_FILE_A" 和"DATA_FILE_B")。然后根据文件夹名称,我检查文件夹名称是否以"DATA_FILE_" 开头。如果是这样,那么我进入该文件夹并获取该文件夹的所有文件。我的问题是:
-
如何获取所有文件夹名称? (即
"DATA_FILE_A" and "DATA_FILE_B") -
如何获取指定文件夹的所有文件?
CloudStorageAccount c = CloudStorageAccount.parse(connStr); CloudBlobClient blobClient = c.createCloudBlobClient(); CloudBlobContainer container = blobClient.getContainerReference("testcontainer"); Iterable<ListBlobItem> directoryList = container.listBlobs();
如果只有一个文件夹,我可以获取文件,但要获取所有文件夹,我会感到困惑。
CloudStorageAccount c = CloudStorageAccount.parse(connStr);
CloudBlobClient blobClient = c.createCloudBlobClient();
CloudBlobContainer container = blobClient.getContainerReference("testcontainer");
CloudBlobDirectory directory = container.getDirectoryReference("DATA_FILE_A");
Iterable<ListBlobItem> blobs = directory.listBlobs();
for (ListBlobItem item : blobs) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
CloudBlockBlob b = (CloudBlockBlob) item;
b.download(output);
//further processing
}
【问题讨论】:
标签: java azure-blob-storage azure-storage-account