相关文章推荐
强悍的创口贴  ·  使用 Java 管理 Blob ...·  1 月前    · 
睿智的牛肉面  ·  python ...·  1 月前    · 
骑白马的香菜  ·  Java ...·  1 月前    · 
内向的冲锋衣  ·  MultipartFile.getInput ...·  1 年前    · 

本文介绍了如何使用 适用于 Java 的 Azure 存储客户端库 下载 Blob。 可以将 Blob 数据下载到各种目标,包括本地文件路径、流或文本字符串。 还可以打开 Blob 流并从中读取。

若要使用本文中的代码示例,请确保具有:

  • 用于连接到 Blob 存储数据资源的授权客户端对象。 若要了解详细信息,请参阅 创建和管理与数据资源交互的客户端对象
  • 执行上传操作的权限。 要了解详细信息,请参阅有关以下 REST API 操作的授权指导:
    • 获取 Blob
    • 安装到项目目录的包 azure-storage-blob 。 要详细了解如何设置项目,请参阅 Azure 存储和 Java 入门
    • 下载 Blob

      可以使用以下任一方法来下载 Blob:

    • downloadContent
    • downloadStream
    • downloadToFile
    • 下载到文件路径

      以下示例将 Blob 下载到本地文件路径:

      public void downloadBlobToFile(BlobClient blobClient) { blobClient.downloadToFile("filepath/local-file.png");

      以下示例将 Blob 下载到 OutputStream 对象:

      public void downloadBlobToStream(BlobClient blobClient) { try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { blobClient.downloadStream(outputStream); } catch (IOException e) { e.printStackTrace();

      下载到字符串

      以下示例假定 Blob 是文本文件,并将 Blob 下载到 String 对象:

      public void downloadBlobToText(BlobClient blobClient) { String content = blobClient.downloadContent().toString(); System.out.printf("Blob contents: %s%n", content);

      以下示例通过打开 BlobInputStream 并从流中读取来下载 Blob:

      public void readBlobFromStream(BlobClient blobClient) { // Opening a blob input stream allows you to read from a blob through a normal // stream interface try (BlobInputStream blobStream = blobClient.openInputStream()) { blobStream.read(); } catch (IOException e) { e.printStackTrace();

      若要详细了解如何使用适用于 Java 的 Azure Blob 存储客户端库来下载 blob,请参阅以下资源。

      REST API 操作

      Azure SDK for Java 包含基于 Azure REST API 而生成的库,允许你通过熟悉的 Java 范例与 REST API 操作进行交互。 用于下载 blob 的客户端库方法使用以下 REST API 操作:

    • 获取 Blob (REST API)
    • 查看本文中的代码示例 (GitHub)
    • 客户端库资源

    • 客户端库参考文档
    • 客户端库源代码
    • 包 (Maven)
  •