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)
- parentBlob——表示这个流与之关联的blob。
- accessCondition——blob的访问条件
- Options——表示该请求的任何其他选项。
- 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的更多相关文章
- 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考
最近客户在逐步迁移应用从阿里云到Azure,这次又轮到一个PHP+MySQL应用了,顺便也记一下流水账. 需求:迁移部署在阿里云上的ECS服务器(系列2,IO优化+2核4G+50G的SSD云盘+10M ...
- 初码-Azure系列-记一次MySQL数据库向Azure的迁移
初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...
- 初码-Azure系列-文章目录
系统迁移 初码-Azure系列-记一次MySQL数据库向Azure的迁移 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考 初码-Azure系列-记一次从阿里云到Azure的迁移和 ...
- 初码-Azure系列-如何在控制面板中选择中文版操作系统
之前在文章<初码-Azure系列-记一次从阿里云到Azure的迁移和部署>中说到,默认的Windows Server 2016操作系统是英文版,后来摸索出中文版的方法,如下:
- 初码-Azure系列-存储队列的使用与一个Azure小工具(蓝天助手)
初码Azure系列文章目录 将消息队列技术模型简化,并打造成更适合互联网+与敏捷开发的云服务模式,好像已经是行业趋势,阿里云也在推荐使用消息服务(HTTP协议为主)而来替代消息队列(TCP协议.MQT ...
- 【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET
上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不 ...
- Azure系列2.1.9 —— CloudBlob
(小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...
- Azure系列2.1.7 —— BlobRequestOptions
(小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...
- Azure系列2.1 —— com.microsoft.azure.storage.blob
网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习心得做下笔记,文中不正确地方请大家指正. Azure Blob ...
随机推荐
- 【Teradata】四舍五入函数
1.round函数(四舍五入) (1)dbscontrol设定使用普通四舍五入方式 //使用root用户登录数据库节点 dbscontrol display general . RoundHalfwa ...
- 分布式消息中间件rocketmq的原理与实践
RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是 ...
- [tool] Visual Studio Code python配置
语言设置 安装中文插件即可成为中文 选择一个Python解释器 Python是一种解释型语言,为了运行Python代码并获取Python IntelliSense,您必须告诉VS Code使用哪个解释 ...
- [matlab] 20.图与网络 matlab自带函数使用
matlab自带的biography(产生一个句柄) 可以用于画图 R=[1 1 2 4 1 2 3 3 5 7 3 4 5 6 7 8]; % 起始节点编号 C=[2 3 3 3 4 5 5 6 6 ...
- 转://Oracle 单引号转义
在ORACLE中,单引号有两个作用: 1:字符串是由单引号引用 2:转义. 单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好理解 1.从第二个单引号开始被视为转义符,如果第二个单引 ...
- 【转】bios与CMOS有什么区别
正确的解释应该是: BIOS是软件.是程序! CMOS是芯片.是硬件! 实际上我们是通过BIOS这个程序,去设置CMOS里的参数的. CMOS是一块芯片,集成在主板上,里面保存着重要的开机参数,而保存 ...
- 从零开始的ESP8266探索(1)-使用Server功能搭建Web Server
https://blog.csdn.net/Naisu_kun/article/details/80398667 文件系统 https://blog.csdn.net/solar_Lan/articl ...
- (4)HomeAssistant 自动化
https://www.home-assistant.io/docs/automation/ 触发器,条件和动作. (trigger) When Paulus arrives home (condit ...
- Spring Security(四):2.1 Introduction What is Spring Security?
Spring Security provides comprehensive security services for Java EE-based enterprise software appli ...
- ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别(转载)
原文出处:http://www.blogjava.net/xcp/archive/2009/10/29/coding2.html 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总结网上一些 ...