为你推荐一款高效的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 ...
随机推荐
- TCP和UDP可以使用同一个端口号吗?
TCP和UDP可以使用同一个端口号吗? 首先说答案:可以.怎么理解呢? 我想这个问题要从计算机网络通信谈起,学过计算机网络的同学,可能都还记得7层或者4层网络模型,TCP/UDP属于其中的传输层协议, ...
- shell脚本的基本使用
本文是对菜鸟教程 shell编程原文 的总结并记录 如有侵权 联系删除 简介 说明: Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.这个应用程序提供了一个界面,用户通过这 ...
- js收藏网页功能,纠正网上乱转没求证的案例
网站一般流行以下收藏代码 function AddFavorite(title, url){ try{ //ie收藏 window.external.addFavorite(url, title); ...
- ohmyposh 安装 - 基于 powershell7.2.1 - 最后改成 profile自定义
今天偶然下载了 powershell7.2.1 https://mydown.yesky.com/pcsoft/468254.html 这想着 vscode也支持了,得装一个 ohmyposh的主题啊 ...
- C++学习笔记之编程思想
目录 编程思想 单例(Singleton)模式 观察者(Observer)模式 void*.NULL和nullptr C的类型转换 C++的类型转换 适配器(Adapter)模式 泛型编程的思想 模板 ...
- day07-1MySQL约束
MySQL约束 基本介绍 约束用于确保数据库的数据满足特定的商业规则 在mysql中,约束包括:not null,unique,primary key,foreign key 和check 5种 1. ...
- C#开发计算器类库
C#开发计算器类库:开发中所涉及到有虚方法,继承,简单工厂等基础知识(编程借鉴'小菜变成成长记'https://www.jb51.net/article/2851.htm) 1.创建父类:计算(Ope ...
- python面向对象(选课系统)
一.需求分析(课程与班级合为一体) -管理员视图 -1.注册 -2.登录 -3.创建学校 -4.创建课程(先选择学校) -5.创建讲师 -学员视图 -1.注册 -2.登录功能 -3.选择校区 -4.选 ...
- Java问题汇总,持续更新到GitHub
目录介绍 00.Java问题汇总 01.具体问题 好消息 博客笔记大汇总[16年3月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bu ...
- 「AntV」Vue3与TS框架下使用L7
1. 引言 Vue是常用的前端框架,TypeScript(简称TS) 是 JavaScript 的超集,可以提高代码的可维护性和可读性 本文基于Vite.Vue3和TypeScript搭建L7开发环境 ...