Java 如何从谷歌存储下载文件夹
我有以下代码将文件从google存储下载到本地存储:Java 如何从谷歌存储下载文件夹,java,google-cloud-storage,Java,Google Cloud Storage,我有以下代码将文件从google存储下载到本地存储: @Override public void downloadFile(URI originFileLocation, URI destinationFileLocation) throws IOException { StorageFileId gcsFileId = fileIdCreator.createFromUri(originFileLocation); Get getRequest = gsClient.objec
@Override
public void downloadFile(URI originFileLocation, URI destinationFileLocation) throws IOException {
StorageFileId gcsFileId = fileIdCreator.createFromUri(originFileLocation);
Get getRequest = gsClient.objects().get(gcsFileId.getBucket(), gcsFileId.getObjectId());
File localFile = new File(destinationFileLocation);
if (!localFile.exists())
{
localFile.createNewFile();
}
try (FileOutputStream fileOutputStream = new FileOutputStream(localFile))
{
getRequest.getMediaHttpDownloader().setDirectDownloadEnabled(false);
getRequest.executeMediaAndDownloadTo(fileOutputStream);
}
}
是否有API将目录及其所有子目录下载到本地存储?否。谷歌云存储没有内置的目录概念。相反,只有对象名称包含/字符。用户界面和命令行实用程序假装存在这样的概念是为了方便,但API没有真正的概念。相反,您需要使用对象列表方法来迭代您感兴趣的对象,并分别调用下载每个对象。否。谷歌云存储没有内置的目录概念。相反,只有对象名称包含/字符。用户界面和命令行实用程序假装存在这样的概念是为了方便,但API没有真正的概念。相反,您需要使用objectlisting方法来迭代您感兴趣的对象,并单独调用下载每个对象