
HarmonyOS API:@ohos.fileio (文件管理)
版本:v3.1 Beta
@ohos.fileio (文件管理)
更新时间: 2023-02-17 09:19
该模块提供文件存储管理能力,包括文件基本管理、文件目录管理、文件信息统计、文件流式读写等常用功能。
说明
- 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本模块接口从API version 9开始废弃,建议使用@ohos.file.fs替代。
导入模块
使用说明
使用该功能模块对文件/目录进行操作前,需要先获取其应用沙箱路径,获取方式及其接口用法请参考:
Stage模型
Stage模型context的具体获取方法参见Stage模型。
FA模型
FA模型context的具体获取方法参见FA模型。
fileio.stat
stat(path: string): Promise<Stat>
获取文件信息,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待获取文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
Promise<Stat> | Promise对象。返回文件的具体信息。 |
示例:
fileio.stat
stat(path: string, callback: AsyncCallback<Stat>): void
获取文件信息,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待获取文件的应用沙箱路径。 |
callback | AsyncCallback<Stat> | 是 | 异步获取文件的信息之后的回调。 |
示例:
fileio.statSync
statSync(path: string): Stat
以同步方法获取文件的信息。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待获取文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
Stat | 表示文件的具体信息。 |
示例:
fileio.opendir
opendir(path: string): Promise<Dir>
打开文件目录,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待打开文件目录的应用沙箱路径。 |
返回值:
类型 | 说明 |
Promise<Dir> | Promise对象。返回Dir对象。 |
示例:
fileio.opendir
opendir(path: string, callback: AsyncCallback<Dir>): void
打开文件目录,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待打开文件目录的应用沙箱路径。 |
callback | AsyncCallback<Dir> | 是 | 异步打开文件目录之后的回调。 |
示例:
fileio.opendirSync
opendirSync(path: string): Dir
以同步方法打开文件目录。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待打开文件目录的应用沙箱路径。 |
返回值:
类型 | 说明 |
Dir | 返回Dir对象。 |
示例:
fileio.access
access(path: string, mode?: number): Promise<void>
检查当前进程是否可访问某文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待访问文件的应用沙箱路径。 |
mode | number | 否 | 访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。 |
返回值:
类型 | 说明 |
Promise<void> | Promise对象。无返回值。 |
示例:
fileio.access
access(path: string, mode?: number, callback: AsyncCallback<void>): void
检查当前进程是否可访问某文件,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待访问文件的应用沙箱路径。 |
mode | number | 否 | 访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。 |
callback | AsyncCallback<void> | 是 | 异步检查当前进程是否可访问某文件之后的回调。 |
示例:
fileio.accessSync
accessSync(path: string, mode?: number): void
以同步方法检查当前进程是否可访问某文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待访问文件的应用沙箱路径。 |
mode | number | 否 | 访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。 |
示例:
fileio.close7+
close(fd: number): Promise<void>
关闭文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待关闭文件的文件描述符。 |
返回值:
类型 | 说明 |
Promise<void> | Promise对象。无返回值。 |
示例:
fileio.close7+
close(fd: number, callback: AsyncCallback<void>): void
关闭文件,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待关闭文件的文件描述符。 |
callback | AsyncCallback<void> | 是 | 异步关闭文件之后的回调。 |
示例:
fileio.closeSync
closeSync(fd: number): void
以同步方法关闭文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待关闭文件的文件描述符。 |
示例:
fileio.copyFile
copyFile(src: string|number, dest: string|number, mode?: number): Promise<void>
复制文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
src | string|number | 是 | 待复制文件的路径或待复制文件的描述符。 |
dest | string|number | 是 | 目标文件路径或目标文件描述符。 |
mode | number | 否 | mode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
返回值:
类型 | 说明 |
Promise<void> | Promise对象。无返回值。 |
示例:
fileio.copyFile
copyFile(src: string|number, dest: string|number, mode: number, callback: AsyncCallback<void>): void
复制文件,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
src | string|number | 是 | 待复制文件的路径或待复制文件的描述符。 |
dest | string|number | 是 | 目标文件路径或目标文件描述符。 |
mode | number | 否 | mode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
callback | AsyncCallback<void> | 是 | 异步复制文件之后的回调。 |
示例:
fileio.copyFileSync
copyFileSync(src: string|number, dest: string|number, mode?: number): void
以同步方法复制文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
src | string|number | 是 | 待复制文件的路径或待复制文件的描述符。 |
dest | string|number | 是 | 目标文件路径或目标文件描述符。 |
mode | number | 否 | mode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
示例:
fileio.mkdir
mkdir(path: string, mode?: number): Promise<void>
创建目录,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待创建目录的应用沙箱路径。 |
mode | number | 否 | 创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
返回值:
类型 | 说明 |
Promise<void> | Promise对象。无返回值。 |
示例:
fileio.mkdir
mkdir(path: string, mode: number, callback: AsyncCallback<void>): void
创建目录,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待创建目录的应用沙箱路径。 |
mode | number | 否 | 创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
callback | AsyncCallback<void> | 是 | 异步创建目录操作完成之后的回调。 |
示例:
fileio.mkdirSync
mkdirSync(path: string, mode?: number): void
以同步方法创建目录。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待创建目录的应用沙箱路径。 |
mode | number | 否 | 创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
示例:
fileio.open7+
open(path: string, flags?: number, mode?: number): Promise<number>
打开文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待打开文件的应用沙箱路径。 |
flags | number | 否 | 打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开: - 0o0:只读打开。 - 0o1:只写打开。 - 0o2:读写打开。 同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项: - 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。 - 0o200:如果追加了0o100选项,且文件已经存在,则出错。 - 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 - 0o2000:以追加方式打开,后续写将追加到文件末尾。 - 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 - 0o200000:如果path不指向目录,则出错。 - 0o400000:如果path指向符号链接,则出错。 - 0o4010000:以同步IO的方式打开文件。 |
mode | number | 否 | 若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。 - 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
返回值:
类型 | 说明 |
Promise<number> | Promise对象。返回打开文件的文件描述符。 |
示例:
fileio.open7+
open(path: string, flags: number, mode: number, callback: AsyncCallback<number>): void
打开文件,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待打开文件的应用沙箱路径。 |
flags | number | 否 | 打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开: - 0o0:只读打开。 - 0o1:只写打开。 - 0o2:读写打开。 同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项: - 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。 - 0o200:如果追加了0o100选项,且文件已经存在,则出错。 - 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 - 0o2000:以追加方式打开,后续写将追加到文件末尾。 - 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 - 0o200000:如果path不指向目录,则出错。 - 0o400000:如果path指向符号链接,则出错。 - 0o4010000:以同步IO的方式打开文件。 |
mode | number | 否 | 若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。 - 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
callback | AsyncCallback<number> | 是 | 异步打开文件之后的回调。 |
示例:
fileio.openSync
openSync(path: string, flags?: number, mode?: number): number
以同步方法打开文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待打开文件的应用沙箱路径。 |
flags | number | 否 | 打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开: - 0o0:只读打开。 - 0o1:只写打开。 - 0o2:读写打开。 同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项: - 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。 - 0o200:如果追加了0o100选项,且文件已经存在,则出错。 - 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 - 0o2000:以追加方式打开,后续写将追加到文件末尾。 - 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 - 0o200000:如果path不指向目录,则出错。 - 0o400000:如果path指向符号链接,则出错。 - 0o4010000:以同步IO的方式打开文件。 |
mode | number | 否 | 若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。 - 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。 - 0o640:所有者具有读、写权限,所有用户组具有读权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 创建出的文件权限受umask影响,umask随进程启动确定,其修改当前不开放。 |
返回值:
类型 | 说明 |
number | 打开文件的文件描述符。 |
示例:
fileio.read
read(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): Promise<ReadOut>
从文件读取数据,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待读取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存读取到的文件数据的缓冲区。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。 |
返回值:
类型 | 说明 |
Promise<ReadOut> | Promise对象。返回读取的结果。 |
示例:
fileio.read
read(fd: number, buffer: ArrayBuffer, options: { offset?: number; length?: number; position?: number; }, callback: AsyncCallback<ReadOut>): void
从文件读取数据,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待读取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存读取到的文件数据的缓冲区。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。 |
callback | AsyncCallback<ReadOut> | 是 | 异步读取数据之后的回调。 |
示例:
fileio.readSync
readSync(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): number
以同步方法从文件读取数据。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待读取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存读取到的文件数据的缓冲区。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。 |
返回值:
类型 | 说明 |
number | 实际读取的长度。 |
示例:
fileio.rmdir7+
rmdir(path: string): Promise<void>
删除目录,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待删除目录的应用沙箱路径。 |
返回值:
类型 | 说明 |
Promise<void> | Promise对象。无返回值。 |
示例:
fileio.rmdir7+
rmdir(path: string, callback: AsyncCallback<void>): void
删除目录,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待删除目录的应用沙箱路径。 |
callback | AsyncCallback<void> | 是 | 异步删除目录之后的回调。 |
示例:
fileio.rmdirSync7+
rmdirSync(path: string): void
以同步方法删除目录。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待删除目录的应用沙箱路径。 |
示例:
fileio.unlink
unlink(path: string): Promise<void>
删除文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待删除文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
Promise<void> | Promise对象。无返回值。 |
示例:
fileio.unlink
unlink(path: string, callback: AsyncCallback<void>): void
删除文件,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待删除文件的应用沙箱路径。 |
callback | AsyncCallback<void> | 是 | 异步删除文件之后的回调。 |
示例:
fileio.unlinkSync
unlinkSync(path: string): void
以同步方法删除文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待删除文件的应用沙箱路径。 |
示例:
fileio.write
write(fd: number, buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise<number>
将数据写入文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待写入文件的文件描述符。 |
buffer | ArrayBuffer|string | 是 | 待写入文件的数据,可来自缓冲区或字符串。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。 约束:offset+length<=buffer.size。 |
返回值:
类型 | 说明 |
Promise<number> | Promise对象。返回实际写入的长度。 |
示例:
fileio.write
write(fd: number, buffer: ArrayBuffer|string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback<number>): void
将数据写入文件,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待写入文件的文件描述符。 |
buffer | ArrayBuffer|string | 是 | 待写入文件的数据,可来自缓冲区或字符串。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。 约束:offset+length<=buffer.size。 |
callback | AsyncCallback<number> | 是 | 异步将数据写入完成后执行的回调函数。 |
示例:
fileio.writeSync
writeSync(fd: number, buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): number
以同步方法将数据写入文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
fd | number | 是 | 待写入文件的文件描述符。 |
buffer | ArrayBuffer|string | 是 | 待写入文件的数据,可来自缓冲区或字符串。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。 约束:offset+length<=buffer.size。 |
返回值:
类型 | 说明 |
number | 实际写入的长度。 |
示例:
fileio.hash
hash(path: string, algorithm: string): Promise<string>
计算文件的哈希值,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待计算哈希值文件的应用沙箱路径。 |
algorithm | string | 是 | 哈希计算采用的算法。可选 "md5"、"sha1" 或 "sha256"。建议采用安全强度更高的 "sha256"。 |
返回值:
类型 | 说明 |
Promise<string> | Promise对象。返回文件的哈希值。表示为十六进制数字串,所有字母均大写。 |
示例:
fileio.hash
hash(path: string, algorithm: string, callback: AsyncCallback<string>): void
计算文件的哈希值,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
path | string | 是 | 待计算哈希值文件的应用沙箱路径。 |
algorithm | string | 是 | 哈希计算采用的算法。可选 "md5"、"sha1" 或 "sha256"。建议采用安全强度更高的 "sha256"。 |
callback | AsyncCallback<string> | 是 | 异步计算文件哈希操作之后的回调函数(其中给定文件哈希值表示为十六进制数字串,所有字母均大写)。 |
示例:
