# 轻量级公共基础库 - [简介](#section62661387114) - [目录](#section1464106163817) - [使用](#section25021123178) - [涉及仓](#section4571352889) ## 简介 轻量级公共基础库存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。 轻量级公共基础库在不同平台上提供的能力: - LiteOS-M内核\(Hi3861平台\):文件操作、定时器。 - LiteOS-A内核\(Hi3516、Hi3518平台\):定时器、JS API\(设备查询,数据存储\)。 **表 1** 轻量级公共基础库功能

模块

平台支持

说明

文件操作

LiteOS-M内核

提供统一的文件操作接口,屏蔽对底层不同芯片组件的差异。

定时器

LiteOS-M内核、LiteOS-A内核

提供统一的定时器操作接口,屏蔽对底层不同芯片组件的差异。

JS API

LiteOS-A内核

提供获取设备信息,数据存储的JS API。

## 目录 ``` commonlibrary/utils_lite/ # 轻量级公共基础库根目录 ├── file # 文件接口实现 ├── hals # HAL目录 │ └── file # 文件操作硬件抽象层头文件 ├── include # 公共基础库对外接口文件 ├── js # JS API目录 │ └── builtin │ ├── common # Builtin公共函数 │ ├── deviceinfokit # 设备信息Kit │ ├── filekit # 文件Kit │ └── kvstorekit # KV存储Kit ├── kal # KAL目录 │ └── timer # Timer的KAL实现 ├── memory │ └── include # 内存池管理接口 └── timer_task # Timer实现 ``` ## 使用 - **文件操作** ``` // 打开或创建文件 const char fileName[] = "testfile"; int fd = UtilsFileOpen(fileName, O_RDWR_FS | O_CREAT_FS | O_TRUNC_FS, 0); // 向文件写入特定大小的数据 const char defValue[] = "test case of file system."; int ret = UtilsFileWrite(fd, defValue, strlen(defValue)); // 关闭文件 UtilsFileClose(fd); // 获取文件大小 int fileLen = 0; ret = UtilsFileStat(fileName, &fileLen); printf("file size = %d\n", fileLen); // 重新定位文件读/写偏移量 int fd1 = UtilsFileOpen(fileName, O_RDWR_FS, 0); ret = UtilsFileSeek(fd1, 5, SEEK_SET_FS); // 读取特定长度的文件数据 char buf[32] = {0}; int readLen = UtilsFileRead(fd1, buf, 32); ret = UtilsFileClose(fd1); printf("read len = %d : buf = %s\n", readLen, buf); // 删除指定文件 ret = UtilsFileDelete(fileName); ``` ## 涉及仓 [公共基础](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%85%AC%E5%85%B1%E5%9F%BA%E7%A1%80%E5%BA%93.md) [**commonlibrary\_utils\_lite**](https://gitee.com/openharmony/commonlibrary_utils_lite)