Azure BlobClient downloadToFile() 抛出 java.nio.file.NoSuchFileException

Posted

技术标签:

【中文标题】Azure BlobClient downloadToFile() 抛出 java.nio.file.NoSuchFileException【英文标题】:Azure BlobClient downloadToFile() throws java.nio.file.NoSuchFileException 【发布时间】:2021-11-18 01:00:24 【问题描述】:

正如标题所说,我在尝试使用 downloadToFile 方法时遇到了 java.nio.file.NoSuchFileException。我读了一些文档,它说这种方法的工作方式是,如果文件存在,它将抛出一个 FileAlradyExistsException,当我手动创建文件时发生在我身上。但是我觉得奇怪的是,当文件不存在时,它会抛出相反的结果......

        String localPath = "/Download/"; // this is the path within my server
        BlobClient blobClient;
        for (int i = 0; i < files.length; i++)
            blobClient = container.getBlobClient(files[i]);


            blobClient.downloadToFile(localPath + files[i]);
        

        System.out.println("Done");

【问题讨论】:

***.com/questions/2642919/… 这个有用吗 不幸的是,它不会检查 blob 是否存在。就我而言,我想在我指定的文件夹中创建文件。 您的问题到底是什么?您想下载文件或上传它。在 blob 存储中根本没有文件夹。如果要上传文件,为什么要使用下载方法 还是不理想,等我做好了再提供! 您需要确保“下载”文件夹中存在“User_Manual”文件夹。 SDK 不会为您创建此文件夹。 【参考方案1】:

正如@Gaurav Mantri 提到的,文件夹本身必须存在。所以我必须构建所有文件夹,现在文件可以完美加载。

【讨论】:

以上是关于Azure BlobClient downloadToFile() 抛出 java.nio.file.NoSuchFileException的主要内容,如果未能解决你的问题,请参考以下文章

C# Azure BlobClient 覆盖时在上传时设置 AccessTier

Azure BlobClient downloadToFile() 抛出 java.nio.file.NoSuchFileException

Azure Blob Storage SDK for .NET BlobClient.UploadAsync 总是抛出异常,但总是上传文件

下载几个文件后 Azure Blob 文件下载失败

Azure 功能不接受在远程创建文件

带有 python 脚本的 Azure Blob 副本