博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Azure系列2.1.4 —— BlobInputStream
阅读量:6908 次
发布时间:2019-06-27

本文共 2247 字,大约阅读时间需要 7 分钟。

 

  (小弟自学Azure,文中有不正确之处,请路过各位大神指正。)

  网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少。这次由于公司项目需要使用Azure,所以对Azure的一些学习心得做下笔记,文中不正确地方请大家指正。 

  Azure Blob 存储是用于存储大量非结构化对象数据(例如文本或二进制数据)的服务,这些数据可通过 HTTP 或 HTTPS 从世界各地进行访问。 可以使用 Blob 存储向外公开数据,或者私下存储应用程序数据。

  Blob 存储的常见用途包括:

      • 直接向浏览器提供图像或文档
      • 存储文件以供分布式访问
      • 对视频和音频进行流式处理
      • 存储数据以用于备份和还原、灾难恢复及存档
      • 存储数据以供本地或 Azure 托管服务执行分析

 

 

Package

  com.microsoft.azure.storage.blob  

 

Mean

  提供一个输入流来读取给定的blob资源。

 

Inherited 

  java.lang.Object ————> InputStream ————> BlobInputStream

 

Constructors 

  protected BlobInputStream(final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)

 

    1. parentBlob——表示这个流与之关联的blob。
    2. accessCondition——blob的访问条件
    3. Options——表示该请求的任何其他选项。
    4. opContext——用于跟踪操作执行的操作上下文对象。

 

Method

    1. public synchronized int available()

   返回可以从该输入流读取(或跳过)的字节数的估计数,而不会在下一次调用此输入流的方法时阻塞。下一个调用可能是相同的线程或其他线程。这许多字节的单个读或跳过不会阻塞,但是可以读取或跳过更少的字节。

    2. public synchronized void close()

 关闭此输入流并释放与流相关的任何系统资源。

    3. public synchronized void mark(final int readlimit)

   标记这个输入流中的当前位置。对重置方法的后续调用将在最后一个标记的位置重新定位该流,以便随后的读取重新读取相同的字节。

   Readlimit——表示在标记位置无效之前可以读取的最大字节限制。

    4. public boolean markSupported()

   测试这个输入流是否支持标记和重置方法。是否支持标记和重置是特定输入流实例的不变属性。InputStream的marksupport方法返回false。

    5. public synchronized void reset()

   将此流重新定位到在此输入流上最后调用标记方法时的位置。注意重新定位blob读取流将禁用blob MD5检查。

    6. public synchronized long skip(final long n)

   跳过此输入流并丢弃n字节的数据。由于各种原因,skip方法可能会跳过一些较小的字节数,可能是0。这可能是由许多条件造成的;在n字节被跳过之前到达文件的末尾只是一种可能。跳过的实际字节数将返回。

   如果n是负数,则不会跳过任何字节。注意重新定位blob读取流将禁用blob MD5检查。

    7. public int read()

   从输入流中读取下一个字节的数据。值字节在0到255范围内作为整数返回。如果没有可用的字节,因为已经到达了流的末端,则返回值-1。此方法将阻塞直到输入数据可用,检测到流的末尾,或抛出异常。

    8. public int read(final byte[] b)

   从输入流中读取一些字节并将它们存储到缓冲区数组中。返回实际读取的字节数为整数。这个方法会阻塞直到输入数据可用,检测到文件的结束,或者抛出异常。

   如果长度为0,则不读取字节,返回0;否则,就会尝试读取至少一个字节。如果没有字节可用,因为流位于文件的末尾,则返回值-1;否则,读取并存储至少一个字节。

    9. public int read(final byte[] b, final int off, final int len)

   从输入流读取数据字节为字节数组。读取字节数,但可以读取较小的数字。实际上读取的字节数作为一个整数返回。这个方法会阻塞直到输入数据可用,检测到文件的结束,或者抛出异常。

   如果是零,则不读取字节,返回0;否则,就会尝试读取至少一个字节。如果没有字节可用,因为流在文件的末尾,则返回值-1;否则,读取并存储至少一个字节。第一个字节读取被存储到元素中,下一个字节被存储到元素中。

 

b——表示数据读取的缓冲区的字节数组。

off——表示数据写入的字节数组中的开始偏移量的整数。

  len——表示要读取的最大字节数的整数。

 

 

 

转载于:https://www.cnblogs.com/DDgougou/p/9071209.html

你可能感兴趣的文章
docker 标记和推送镜像
查看>>
在弱网传输的情况下,是怎么做到节约流量的(面试小问题,Android篇)
查看>>
【转】Spring Boot特性
查看>>
Linux用户管理之使用/bin/false和/usr/sbin/nologin拒绝用户登录及其功能分析(转)...
查看>>
位置与地图(三)给地图加入覆盖层
查看>>
[CI]jenkins安装&插件管理&java-helloworld之旅
查看>>
python可变參数调用函数问题
查看>>
android多个fragment返回键层层返回
查看>>
Mapreduce实战:序列化与反序列化 int,int[],string[][]
查看>>
可执行文件格式elf和bin
查看>>
Android中获取当前位置的使用步骤
查看>>
CEF中JavaScript与C++交互
查看>>
unity3d绘画手册-------灯光之反射及各个参数解释
查看>>
深入理解程序的结构
查看>>
POJ1365 Prime Land【质因数分解】【素数】【水题】
查看>>
Java实现文件复制
查看>>
Spark修炼之道(基础篇)——Linux大数据开发基础:第三节:用户和组
查看>>
Linux下Power Management开发总结
查看>>
安装服务器安全狗教程
查看>>
使用CodePush实时更新 React Native 和 Cordova 应用
查看>>