Azure系列2.1.4 —— BlobInputStream

  (小弟自学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——表示要读取的最大字节数的整数。

上一篇:ASP.NET版CKEditor与CKFinder的配置使用


下一篇:如何有效的保护 JAVA 程序