Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从谷歌存储下载文件夹_Java_Google Cloud Storage - Fatal编程技术网

Java 如何从谷歌存储下载文件夹

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

我有以下代码将文件从google存储下载到本地存储:

@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方法来迭代您感兴趣的对象,并单独调用下载每个对象