为你推荐一款高效的IO组件——okio
一、okio的产生背景
二、两个基本概念
三、okio的工作原理


- 当前Segment的prev和next不为空
- 当前Segment是共享的
- 对象池已经有8个Segment了
四、okio的使用及示例
"dependencies": {
"okio": "^1.0.0"
}
npm config set @ohos:registry=https://repo.harmonyos.com/npm/
cd entrynpm
install @ohos/okio
import okio from '@ohos/okio';
"reqPermissions": [
{
"name": "ohos.permission.WRITE_USER_STORAGE", //写入用户存储的权限
"reason": "Storage",
"usedScene": {
"when": "always",
"ability": [
"com.example.okioapplication.MainAbility"
]
}
},
{
"name": "ohos.permission.READ_USER_STORAGE", //读取用户存储的权限
"reason": "Storage",
"usedScene": {
"when": "always",
"ability": [
"com.example.okioapplication.MainAbility"
]
}
},
{
"name": "ohos.permission.WRITE_EXTERNAL_MEDIA_MEMORY", //写入外部存储的权限
"reason": "Storage",
"usedScene": {
"when": "always",
"ability": [
"com.example.okioapplication.MainAbility"
]
}
}
]
}
//通过sink将内容写入文件
var sink = new okio.Sink(this.fileUri);
sink.write(this.Value,false);
//通过source从文件读取内容
var source = new okio.Source(this.fileUri);
source.read().then(function (data) {
context.readValue = data;
}).catch(function (error)
{
console.log("error=>"+error);
});
let byteStringObj = new okio.ByteString.ByteString(''); //生成ByteString对象
let decodeBase64 = byteStringObj.decodeBase64('SGVsbG8gd29ybGQ='); //解码Base64字符串
this.decodeBase64Value = JSON.stringify(decodeBase64); //显示解码结果
let byteStringObj = new okio.ByteString.ByteString('');
let decodehex = byteStringObj.decodeHex('48656C6C6F20776F726C640D0A');
this.decodeHexValue = JSON.stringify(decodehex);
let byteStringObj = new okio.ByteString.ByteString('');
let encodeUtf8 = byteStringObj.encodeUtf8('Hello world #4 ( ͡ㆆ ͜ʖ ͡ㆆ)');
this.encodeUtf8Value = JSON.stringify(encodeUtf8);

为你推荐一款高效的IO组件——okio的更多相关文章
- 推荐一款java的验证码组件——kaptcha
使用方法: 项目中导入kaptcha-2.3.jar包 在web.xml里面新增: <!-- 登陆验证码Kaptcha --> <servlet> <servlet- ...
- 软件推荐 ---一款优秀的通信组件 HP_Socket
* HP-Socket 官方网站:http://www.jessma.org* HP-Socket 项目主页:http://www.oschina.net/p/hp-socket* HP-Socket ...
- 推荐几款我一直在用的chrome插件(下)
请先看:推荐几款我一直在用的chrome插件(上) 6. Pocket 可以很方便的保存文章.视频等供以后查看,即实现了“Read it later”功能.有了 Pocket,您可以将所有想下次读的内 ...
- 推荐15款最好的 Twitter Bootstrap 开发工具
Twitter Bootstrap 自从2011年最初发布到网上后,迅速成为 Web 领域最流行的响应式前端开发框架之一,是网页设计的优秀实践.Twitter Bootstrap 框架包含了众多的预定 ...
- 向 Web 开发人员推荐35款 JavaScript 图形图表库
图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web 应用和项目的可靠性. 在这篇文章中,我们收集了3 ...
- 值得拥有!精心推荐几款超实用的 CSS 开发工具
当你开发一个网站或 Web 应用程序的时候,有合适的工具,绝对可以帮助您节省大量的时间.在这篇文章中,我为大家收集了超有用的 CSS 开发工具. 对于 Web 开发人员来说,找到有用的 CSS 开发工 ...
- 推荐一款超强大的基于Angularjs的自动完成(Autocomplete)标签及标签组插件–ngTagsInput
前言 今天利用中午午休时间,给大家分享推荐一款基于Angularjs的自动完成(Autocomplete)标签及标签组插件--ngTagsInput,功能超强大的.不信,你试试就知道^_^... Au ...
- 推荐25款php中非常有用的类库
推荐25款php中非常有用的类库 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014-09-29 作为一个PHP开发者,现在是一个令人激动的时刻.每天有许许多多有用的库分发出 ...
- 推荐10款非常优秀的 HTML5 开发工具
HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式.今天这篇文章向大家推荐10款 ...
- 推荐一款接口 API 设计神器!
今天栈长给大家推荐一款接口 API 设计神器,传说中的,牛逼哄洪的 Swagger,它到底是什么?今天为大家揭开谜底! Swagger是什么? 官网:https://swagger.io/ Swagg ...
随机推荐
- TLS数据包重组
TLS解密 参考以下链接:Wireshark 解密 TLS报文_在线tls解密-CSDN博客 总结: 配置环境变量 wireshark首选项配置 TLS解密例子 Frame 2700 Frame 27 ...
- expect tcl 摘录
目录 部分参考来源说明 例子 expect命令 核心命令有三个 spawn.expect.send 其他expect命令 expect命令的选项 变量 tcl摘录 数据类型 符号 命令 其他说明 部分 ...
- Linux性能监控(二)-top
top命令可以用来监控服务器CPU.内存的运行情况,是Linux一个经常使用到的命令. 基本用法 第一行 显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,当前有2个用户登录 ...
- docker 资料整理
docker 资料整理 基础概念 docker deamon 守护系统:简单理解就是docker的软件系统,管控这容器的开关. docker容器:从镜像启动到内存中形成动态运行,从编程角度,如果镜像是 ...
- Github下载release附件变相提速方法
最近找到了个油猴插件,下载2M/s,推荐大家使用Github 镜像访问,加速下载 描述 github上面有许多开源的软件,作者们都打包发布为release版本,我们可以下载打包好的软件,但是,由于国内 ...
- 3DCAT亮相糖酒会,为元宇宙展会提供实时云渲染支持
4月12日,第108届全国糖酒商品交易会(下文简称"糖酒会")在成都正式开幕,吸引了众多酒类企业和行业人士的参与. 图片源自新华社 本次糖酒会上,某展会采用了"双线&qu ...
- 记录--你还在傻傻的npm run serve吗?快来尝尝这个!
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 大家在日常开发中应该经常会有需要切换不同环境地址的情况.当一个项目代码切换环境地址时,vue-cli没有能够感知文件的变化,所以代理 ...
- 开源一个教学型分库分表示例项目 shardingsphere-jdbc-demo
在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客. 分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步.增量同步.数据校验等). 因此笔者 ...
- C# URL参数编码
string s = "lw123abc测试信息!@#¥%--&*()--+"; Console.WriteLine("原数据:\t\t" + s); ...
- 学习笔记-Kafka消息队列
官网地址:https://kafka.apache.org/ 一.认识kafka 1.认识kafka Apache Kafka是Apache软件基金会的开源的流处理平台,该平台提供了消息的订阅与发布的 ...