标签:lse 输入数据 das method 相同 数据 family long top
(小弟自学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)
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——表示要读取的最大字节数的整数。
Azure系列2.1.4 —— BlobInputStream
标签:lse 输入数据 das method 相同 数据 family long top
原文地址:https://www.cnblogs.com/DDgougou/p/9071209.html