仓颉之I/O 操作的交互奥秘

举报
空间案例中心小助手 发表于 2025/08/28 10:31:54 2025/08/28
【摘要】 案例结合代码体验,帮助大家更直观的了解仓颉语言中的I/O操作。

案例概述

背景与简介

华为开发者空间面向广大开发者群体提供专属的云上成长空间,预置免费华为跟技术工具和资源,为开发者提供学习、开发到部署的全旅程支持,开发者空间提供了AI原生应用引擎、AI Notebook、云开发环境、FunctionGraph云函数、Astro低代码等核心能力,并在算力、模型、平台、应用层实现全方位优化。

仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。主要应用于鸿蒙原生应用及服务应用等场景中,为开发者提供良好的编程体验。

仓颉编程语言将与应用程序外部载体交互的操作称为 I/O 操作。I 对应输入(Input),O 对应输出(Output)。仓颉编程语言所有的 I/O 机制都是基于数据流进行输入输出,这些数据流表示了字节数据的序列。数据流是一串连续的数据集合,它就像承载数据的管道,在管道的一端输入数据,在管道的另一端就可以输出数据。仓颉编程语言将输入输出抽象为流(Stream)。

将数据从外存中读取到内存中的称为输入流(InputStream),输入端可以一段一段地向管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。

将数据从内存写入外存中的称为输出流(OutputStream),输出端也可以一段一段地从管道中读出数据,每次可以读取其中的任意长度的数据(不需要跟输入端匹配),但只能读取先输入的数据,再读取后输入的数据。

有了这一层抽象,仓颉编程语言就可以使用统一的接口来实现与外部数据的交互。 仓颉编程语言将标准输入输出、文件操作、网络数据流、字符串流、加密流、压缩流等等形式的操作,统一用 Stream 描述。Stream 主要面向处理原始二进制数据,Stream 中最小的数据单元是 Byte。仓颉编程语言将 Stream 定义成了 interface,它让不同的 Stream 可以用装饰器模式进行组合,极大地提升了可扩展性。

案例优势

案例结合代码体验,帮助大家更直观的了解仓颉语言中的I/O操作。

案例流程

01.png


流程说明

1. 登录华为开发者空间,连接开发者空间云主机;

2. 使用CodeArt IDE for Cangjie创建仓颉工程;

3. 仓颉语言中I/O流的练习使用

案例实操:仓颉之I/O操作的交互奥秘 👈👈👈体验完整版案例,点击这里。

案例最终效果

02.png


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。