鸿蒙开发文件管理:【@ohos.fileio (文件管理)】

文件管理

该模块提供文件存储管理能力,包括文件基本管理、文件目录管理、文件信息统计、文件流式读写等常用功能。

icon-note.gif 说明:  本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import fileio from '@ohos.fileio';

使用说明

使用该功能模块对文件/目录进行操作前,需要先获取其应用沙箱路径,获取方式及其接口用法请参考:

import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
let path = '';
context.getFilesDir().then((data) => {
     path = data;
})

fileio.stat

stat(path: string): Promise

获取文件信息,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待获取文件的应用沙箱路径。

返回值:

类型说明
Promise<[Stat]>Promise对象。返回文件的具体信息。

示例:

fileio.stat(path).then(function(stat){
    console.info("getFileInfo succeed:"+ JSON.stringify(stat));
}).catch(function(err){
    console.info("getFileInfo failed with error:"+ err);
});

fileio.stat

stat(path:string, callback:AsyncCallback): void

获取文件信息,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待获取文件的应用沙箱路径。
callbackAsyncCallback<[Stat]>异步获取文件的信息之后的回调。

示例:

fileio.stat(path, function (err, stat) {
    // example code in Stat
});

fileio.statSync

statSync(path:string): Stat

以同步方法获取文件的信息。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待获取文件的应用沙箱路径。

返回值:

类型说明
[Stat]表示文件的具体信息。

示例:

let stat = fileio.statSync(path);
// example code in Stat

fileio.opendir

opendir(path: string): Promise

打开文件目录,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件目录的应用沙箱路径。

返回值:

类型说明
Promise<[Dir]>Promise对象。返回Dir对象。

示例:

fileio.opendir(path).then(function(dir){
    console.info("opendir succeed:"+ JSON.stringify(dir));
}).catch(function(err){
    console.info("opendir failed with error:"+ err);
});

fileio.opendir

opendir(path: string, callback: AsyncCallback

): void

打开文件目录,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件目录的应用沙箱路径。
callbackAsyncCallback<[Dir]>异步打开文件目录之后的回调。

示例:

fileio.opendir(path, function (err, dir) { 
    // example code in Dir struct
    // use read/readSync/close
});

fileio.opendirSync

opendirSync(path: string): Dir

以同步方法打开文件目录。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件目录的应用沙箱路径。

返回值:

类型说明
[Dir]返回Dir对象。

示例:

let dir = fileio.opendirSync(path);
// example code in Dir struct
// use read/readSync/close

fileio.access

access(path: string, mode?: number): Promise

检查当前进程是否可访问某文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待访问文件的应用沙箱路径。
modenumber访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

fileio.access(path).then(function() {
    console.info("access succeed");
}).catch(function(err){
    console.info("access failed with error:"+ err);
});

fileio.access

access(path: string, mode: number, callback: AsyncCallback): void

检查当前进程是否可访问某文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待访问文件的应用沙箱路径。
modenumber访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。
callbackAsyncCallback异步检查当前进程是否可访问某文件之后的回调。

示例:

fileio.access(path, function (err) {
    // do something
});

fileio.accessSync

accessSync(path: string, mode?: number): void

以同步方法检查当前进程是否可访问某文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待访问文件的应用沙箱路径。
modenumber访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。

示例:

try {
    fileio.accessSync(path);
} catch(err) {
    console.info("accessSync failed with error:"+ err);
}

fileio.close7+

close(fd: number):Promise

关闭文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待关闭文件的文件描述符。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let fd = fileio.openSync(path);
fileio.close(fd).then(function(){
    console.info("close file succeed");
}).catch(function(err){
    console.info("close file failed with error:"+ err);
});

fileio.close7+

close(fd: number, callback:AsyncCallback): void

关闭文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待关闭文件的文件描述符。
callbackAsyncCallback异步关闭文件之后的回调。

示例:

let fd = fileio.openSync(path);
fileio.close(fd, function (err) {
    // do something
});

fileio.closeSync

closeSync(fd: number): void

以同步方法关闭文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待关闭文件的文件描述符。

示例:

let fd = fileio.openSync(path);
fileio.closeSync(fd);

fileio.copyFile

copyFile(src:string | number, dest:string | number, mode?:number):Promise

复制文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
srcstringnumber
deststringnumber
modenumbermode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let src = path;
let dest = src + 'tgt';
fileio.copyFile(src, dest).then(function(){
    console.info("copyFile succeed");
}).catch(function(err){
    console.info("copyFile failed with error:"+ err);
});

fileio.copyFile

copyFile(src: string | number, dest: string | number, mode: number, callback: AsyncCallback): void

复制文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
srcstringnumber
deststringnumber
modenumbermode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。
callbackAsyncCallback异步复制文件之后的回调。

示例:

let src = path;
let dest = src + 'tgt';
fileio.copyFile(src, dest, function (err) {
    // do something
});

fileio.copyFileSync

copyFileSync(src: string | number, dest: string | number, mode?: number): void

以同步方法复制文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
srcstringnumber
deststringnumber
modenumbermode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。

示例:

let src = path;
let dest = src + 'tgt';
fileio.copyFileSync(src, dest);

fileio.mkdir

mkdir(path:string, mode?: number): Promise

创建目录,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待创建目录的应用沙箱路径。
modenumber创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

fileio.mkdir(path).then(function() {
    console.info("mkdir succeed");
}).catch(function (error){
    console.info("mkdir failed with error:"+ error);
});

fileio.mkdir

mkdir(path: string, mode: number, callback: AsyncCallback): void

创建目录,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待创建目录的应用沙箱路径。
modenumber创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。
callbackAsyncCallback异步创建目录操作完成之后的回调。

示例:

fileio.mkdir(path, function(err) {
  console.info("mkdir succeed");
});

fileio.mkdirSync

mkdirSync(path: string, mode?: number): void

以同步方法创建目录。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待创建目录的应用沙箱路径。
modenumber创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

示例:

fileio.mkdirSync(path);

fileio.open7+

open(path: string, flags?: number, mode?: number): Promise

打开文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
flagsnumber打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开: - 0o0:只读打开。 - 0o1:只写打开。 - 0o2:读写打开。 同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项: - 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。 - 0o200:如果追加了0o100选项,且文件已经存在,则出错。 - 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 - 0o2000:以追加方式打开,后续写将追加到文件末尾。 - 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 - 0o200000:如果path不指向目录,则出错。 - 0o400000:如果path指向符号链接,则出错。 - 0o4010000:以同步IO的方式打开文件。
modenumber若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。 - 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

返回值:

类型说明
PromisePromise对象。返回打开文件的文件描述符。

示例:

fileio.open(path, 0o1, 0o0200).then(function(number){
    console.info("open file succeed");
}).catch(function(err){
    console.info("open file failed with error:"+ err);
});

fileio.open7+

open(path: string, flags: number, mode: number, callback: AsyncCallback): void

打开文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
flagsnumber打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开: - 0o0:只读打开。 - 0o1:只写打开。 - 0o2:读写打开。 同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项: - 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。 - 0o200:如果追加了0o100选项,且文件已经存在,则出错。 - 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 - 0o2000:以追加方式打开,后续写将追加到文件末尾。 - 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 - 0o200000:如果path不指向目录,则出错。 - 0o400000:如果path指向符号链接,则出错。 - 0o4010000:以同步IO的方式打开文件。
modenumber若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。 - 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。
callbackAsyncCallback 异步打开文件之后的回调。

示例:

fileio.open(path, 0, function(err, fd) {
    // do something
});

fileio.openSync

openSync(path:string, flags?:number, mode?:number): number

以同步方法打开文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
flagsnumber打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开: - 0o0:只读打开。 - 0o1:只写打开。 - 0o2:读写打开。 同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项: - 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。 - 0o200:如果追加了0o100选项,且文件已经存在,则出错。 - 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 - 0o2000:以追加方式打开,后续写将追加到文件末尾。 - 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 - 0o200000:如果path不指向目录,则出错。 - 0o400000:如果path指向符号链接,则出错。 - 0o4010000:以同步IO的方式打开文件。
modenumber若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。 - 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。 - 0o640:所有者具有读、写权限,所有用户组具有读权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 创建出的文件权限受umask影响,umask随进程启动确定,其修改当前不开放。

返回值:

类型说明
number打开文件的文件描述符。

示例:

let fd = fileio.openSync(path, 0o102, 0o640);
let fd = fileio.openSync(path, 0o102, 0o666);
fileio.writeSync(fd, 'hello world');
let fd1 = fileio.openSync(path, 0o2002);
fileio.writeSync(fd1, 'hello world');
let num = fileio.readSync(fd1, new ArrayBuffer(4096), {position: 0});
console.info("num == " + num);

fileio.read

read(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): Promise

从文件读取数据,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待读取文件的文件描述符。
bufferArrayBuffer用于保存读取到的文件数据的缓冲区。
optionsObject支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。

返回值:

类型说明
Promise<[ReadOut]>Promise对象。返回读取的结果。

示例:

let fd = fileio.openSync(path, 0o2);
let buf = new ArrayBuffer(4096);
fileio.read(fd, buf).then(function(readOut){
    console.info("read file data succeed");
    console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
}).catch(function(err){
    console.info("read file data failed with error:"+ err);
});

fileio.read

read(fd: number, buffer: ArrayBuffer, options: { offset?: number; length?: number; position?: number; }, callback: AsyncCallback): void

从文件读取数据,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待读取文件的文件描述符。
bufferArrayBuffer用于保存读取到的文件数据的缓冲区。
optionsObject支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。
callbackAsyncCallback<[ReadOut]>异步读取数据之后的回调。

示例:

let fd = fileio.openSync(path, 0o2);
let buf = new ArrayBuffer(4096);
fileio.read(fd, buf, function (err, readOut) {
    if (readOut) {
        console.info("read file data succeed");
        console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
    }
});

fileio.readSync

readSync(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): number

以同步方法从文件读取数据。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待读取文件的文件描述符。
bufferArrayBuffer用于保存读取到的文件数据的缓冲区。
optionsObject支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。

返回值:

类型说明
number实际读取的长度。

示例:

let fd = fileio.openSync(path, 0o2);
let buf = new ArrayBuffer(4096);
let num = fileio.readSync(fd, buf);

fileio.rmdir7+

rmdir(path: string): Promise

删除目录,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待删除目录的应用沙箱路径。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

fileio.rmdir(path).then(function() {
    console.info("rmdir succeed");
}).catch(function(err){
    console.info("rmdir failed with error:"+ err);
});

fileio.rmdir7+

rmdir(path: string, callback:AsyncCallback): void

删除目录,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待删除目录的应用沙箱路径。
callbackAsyncCallback异步删除目录之后的回调。

示例:

fileio.rmdir(path, function(err){
    // do something
    console.info("rmdir succeed");
});

fileio.rmdirSync7+

rmdirSync(path: string): void

以同步方法删除目录。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待删除目录的应用沙箱路径。

示例:

fileio.rmdirSync(path);

fileio.unlink

unlink(path:string): Promise

删除文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待删除文件的应用沙箱路径。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

fileio.unlink(path).then(function(){
    console.info("remove file succeed");
}).catch(function(error){
    console.info("remove file failed with error:"+ error);
});

fileio.unlink

unlink(path:string, callback:AsyncCallback): void

删除文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待删除文件的应用沙箱路径。
callbackAsyncCallback异步删除文件之后的回调。

示例:

fileio.unlink(path, function(err) {
    console.info("remove file succeed");
});

fileio.unlinkSync

unlinkSync(path: string): void

以同步方法删除文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待删除文件的应用沙箱路径。

示例:

fileio.unlinkSync(path);

fileio.write

write(fd: number, buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise

将数据写入文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待写入文件的文件描述符。
bufferArrayBufferstring
optionsObject支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。

返回值:

类型说明
PromisePromise对象。返回实际写入的长度。

示例:

let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
fileio.write(fd, "hello, world").then(function(number){
     console.info("write data to file succeed and size is:"+ number);
}).catch(function(err){
    console.info("write data to file failed with error:"+ err);
});

fileio.write

write(fd: number, buffer: ArrayBuffer | string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback): void

将数据写入文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待写入文件的文件描述符。
bufferArrayBufferstring
optionsObject支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。
callbackAsyncCallback异步将数据写入完成后执行的回调函数。

示例:

let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
fileio.write(fd, "hello, world", function (err, bytesWritten) {
    if (bytesWritten) {
       console.info("write data to file succeed and size is:"+ bytesWritten);
    }
});

fileio.writeSync

writeSync(fd: number, buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): number

以同步方法将数据写入文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待写入文件的文件描述符。
bufferArrayBufferstring
optionsObject支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。

返回值:

类型说明
number实际写入的长度。

示例:

let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
let num = fileio.writeSync(fd, "hello, world");

fileio.hash

hash(path: string, algorithm: string): Promise

计算文件的哈希值,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待计算哈希值文件的应用沙箱路径。
algorithmstring哈希计算采用的算法。可选 “md5”、“sha1” 或 “sha256”。建议采用安全强度更高的 “sha256”。

返回值:

类型说明
PromisePromise对象。返回文件的哈希值。表示为十六进制数字串,所有字母均大写。

示例:

fileio.hash(path, "sha256").then(function(str){
    console.info("calculate file hash succeed:"+ str);
}).catch(function(err){
    console.info("calculate file hash failed with error:"+ err);
});

fileio.hash

hash(path: string, algorithm: string, callback: AsyncCallback): void

计算文件的哈希值,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待计算哈希值文件的应用沙箱路径。
algorithmstring哈希计算采用的算法。可选 “md5”、“sha1” 或 “sha256”。建议采用安全强度更高的 “sha256”。
callbackAsyncCallback异步计算文件哈希操作之后的回调函数(其中给定文件哈希值表示为十六进制数字串,所有字母均大写)。

示例:

fileio.hash(path, "sha256", function(err, hashStr) {
    if (hashStr) {
        console.info("calculate file hash succeed:"+ hashStr);
    }
});

fileio.chmod7+

chmod(path: string, mode: number):Promise

改变文件权限,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring所需变更权限的文件的应用沙箱路径。
modenumber改变文件权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

fileio.chmod(path, 0o700).then(function() {
    console.info("chmod succeed");
}).catch(function(err){
    console.info("chmod failed with error:"+ err);
});

fileio.chmod7+

chmod(path: string, mode: number, callback: AsyncCallback): void

改变文件权限,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring所需变更权限的文件的应用沙箱路径。
modenumber改变文件权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。
callbackAsyncCallback异步改变文件权限之后的回调。

示例:

fileio.chmod(path, 0o700, function (err) {
    // do something
});

fileio.chmodSync7+

chmodSync(path: string, mode: number): void

以同步方法改变文件权限。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring所需变更权限的文件的应用沙箱路径。
modenumber改变文件权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

示例:

fileio.chmodSync(path, 0o700);

fileio.fstat7+

fstat(fd: number): Promise

基于文件描述符获取文件状态信息,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待获取文件状态的文件描述符。

返回值:

类型说明
Promise<[Stat]>Promise对象。返回表示文件状态的具体信息。

示例:

let fd = fileio.openSync(path);
fileio.fstat(fd).then(function(stat){
    console.info("fstat succeed:"+ JSON.stringify(stat));
}).catch(function(err){
    console.info("fstat failed with error:"+ err);
});

fileio.fstat7+

fstat(fd: number, callback: AsyncCallback): void

基于文件描述符获取文件状态信息,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待获取文件状态的文件描述符。
callbackAsyncCallback<[Stat]>异步获取文件状态信息之后的回调。

示例:

let fd = fileio.openSync(path);
fileio.fstat(fd, function (err) {
    // do something
});

fileio.fstatSync7+

fstatSync(fd: number): Stat

以同步方法基于文件描述符获取文件状态信息。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待获取文件状态的文件描述符。

返回值:

类型说明
[Stat]表示文件状态的具体信息。

示例:

let fd = fileio.openSync(path);
let stat = fileio.fstatSync(fd);

fileio.ftruncate7+

ftruncate(fd: number, len?: number): Promise

基于文件描述符截断文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待截断文件的文件描述符。
lennumber文件截断后的长度,以字节为单位。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let fd = fileio.openSync(path);
fileio.ftruncate(fd, 5).then(function(err) {    
    console.info("truncate file succeed");
}).catch(function(err){
    console.info("truncate file failed with error:"+ err);
});

fileio.ftruncate7+

ftruncate(fd: number, len: number, callback:AsyncCallback): void

基于文件描述符截断文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待截断文件的文件描述符。
lennumber文件截断后的长度,以字节为单位。
callbackAsyncCallback回调函数,本调用无返回值。

示例:

let fd = fileio.openSync(path);
let len = 5;
fileio.ftruncate(fd, 5, function(err){
    // do something
});

fileio.ftruncateSync7+

ftruncateSync(fd: number, len?: number): void

以同步方法基于文件描述符截断文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待截断文件的文件描述符。
lennumber文件截断后的长度,以字节为单位。

示例:

let fd = fileio.openSync(path);
let len = 5;
fileio.ftruncateSync(fd, len);

fileio.truncate7+

truncate(path: string, len?: number): Promise

基于文件路径截断文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待截断文件的应用沙箱路径。
lennumber文件截断后的长度,以字节为单位。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let len = 5;
fileio.truncate(path, len).then(function(){
    console.info("truncate file succeed");
}).catch(function(err){
    console.info("truncate file failed with error:"+ err);
});

fileio.truncate7+

truncate(path: string, len: number, callback:AsyncCallback): void

基于文件路径截断文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待截断文件的应用沙箱路径。
lennumber文件截断后的长度,以字节为单位。
callbackAsyncCallback回调函数,本调用无返回值。

示例:

let len = 5;
fileio.truncate(path, len, function(err){
    // do something
});

fileio.truncateSync7+

truncateSync(path: string, len?: number): void

以同步方法基于文件路径截断文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待截断文件的应用沙箱路径。
lennumber文件截断后的长度,以字节为单位。

示例:

let len = 5;
fileio.truncateSync(path, len);

fileio.readText7+

readText(filePath: string, options?: { position?: number; length?: number; encoding?: string; }): Promise

基于文本方式读取文件(即直接读取文件的文本内容),使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
filePathstring待读取文件的应用沙箱路径。
optionsObject支持如下选项: - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - encoding,string类型,当数据是 string 类型时有效,表示数据的编码方式,默认 ‘utf-8’,仅支持 ‘utf-8’。

返回值:

类型说明
PromisePromise对象。返回读取文件的内容。

示例:

fileio.readText(path).then(function(str) {
    console.info("readText succeed:"+ str);
}).catch(function(err){
    console.info("readText failed with error:"+ err);
});

fileio.readText7+

readText(filePath: string, options: { position?: number; length?: number; encoding?: string; }, callback: AsyncCallback): void

基于文本方式读取文件(即直接读取文件的文本内容),使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
filePathstring待读取文件的应用沙箱路径。
optionsObject支持如下选项: - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - encoding,string类型,表示数据的编码方式,默认 ‘utf-8’,仅支持 ‘utf-8’。
callbackAsyncCallback回调函数,返回读取文件的内容。

示例:

fileio.readText(path, { position: 1, encoding: 'UTF-8' }, function(err, str){
    // do something
});

fileio.readTextSync7+

readTextSync(filePath: string, options?: { position?: number; length?: number; encoding?: string; }): string

以同步方法基于文本方式读取文件(即直接读取文件的文本内容)。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
filePathstring待读取文件的应用沙箱路径。
optionsObject支持如下选项: - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - encoding,string类型,当数据是 string 类型时有效,表示数据的编码方式,默认 ‘utf-8’,仅支持 ‘utf-8’。

返回值:

类型说明
string返回读取文件的内容。

示例:

let str = fileio.readTextSync(path, {position: 1, length: 3});

fileio.lstat7+

lstat(path: string): Promise

获取链接信息,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring目标文件的应用沙箱路径。

返回值:

类型说明
Promise<[Stat]>promise对象,返回文件对象,表示文件的具体信息,详情见stat。

示例:

fileio.lstat(path).then(function(stat){
    console.info("get link status succeed:"+ JSON.stringify(stat));
}).catch(function(err){
    console.info("get link status failed with error:"+ err);
});

fileio.lstat7+

lstat(path:string, callback:AsyncCallback): void

获取链接信息,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring目标文件的应用沙箱路径。
callbackAsyncCallback<[Stat]>回调函数,返回文件的具体信息。

示例:

fileio.lstat(path, function (err, stat) {
    // do something
});

fileio.lstatSync7+

lstatSync(path:string): Stat

以同步方法获取链接信息。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring目标文件的应用沙箱路径。

返回值:

类型说明
[Stat]表示文件的具体信息。

示例:

let stat = fileio.lstatSync(path);

fileio.rename7+

rename(oldPath: string, newPath: string): Promise

重命名文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
oldPathstring目标文件的当前应用沙箱路径。
newPathString目标文件的新应用沙箱路径。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let oldPath = path;
let newPath = oldPath + '123';
fileio.rename(oldPath, newPath).then(function() {
    console.info("rename succeed");
}).catch(function(err){
    console.info("rename failed with error:"+ err);
});

fileio.rename7+

rename(oldPath: string, newPath: string, callback: AsyncCallback): void

重命名文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
oldPathstring目标文件的当前应用沙箱路径。
newPathString目标文件的新应用沙箱路径。
CallbackAsyncCallback异步重命名文件之后的回调。

示例:

let oldPath = path;
let newPath = oldPath + '123';
fileio.rename(oldPath, newPath, function(err){
});

fileio.renameSync7+

renameSync(oldPath: string, newPath: string): void

以同步方法重命名文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
oldPathstring目标文件的当前应用沙箱路径。
newPathString目标文件的新应用沙箱路径。

示例:

let oldPath = path;
let newPath = oldPath + '123';
fileio.renameSync(oldPath, newPath);

fileio.fsync7+

fsync(fd: number): Promise

同步文件数据,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待同步文件的文件描述符。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let fd = fileio.openSync(path);
fileio.fsync(fd).then(function(){
    console.info("sync data succeed");
}).catch(function(err){
    console.info("sync data failed with error:"+ err);
});

fileio.fsync7+

fsync(fd: number, callback: AsyncCallback): void

同步文件数据,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待同步文件的文件描述符。
CallbackAsyncCallback异步将文件数据同步之后的回调。

示例:

let fd = fileio.openSync(path);
fileio.fsync(fd, function(err){
    // do something
});

fileio.fsyncSync7+

fsyncSync(fd: number): void

以同步方法同步文件数据。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待同步文件的文件描述符。

示例:

let fd = fileio.openSync(path);
fileio.fsyncSync(fd);

fileio.fdatasync7+

fdatasync(fd: number): Promise

实现文件内容数据同步,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待同步文件的文件描述符。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let fd = fileio.openSync(path);
fileio.fdatasync(fd).then(function(err) {
    console.info("sync data succeed");
}).catch(function(err){
    console.info("sync data failed with error:"+ err);
});

fileio.fdatasync7+

fdatasync(fd: number, callback:AsyncCallback): void

实现文件内容数据同步,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待同步文件的文件描述符。
callbackAsyncCallback 异步将文件内容数据同步之后的回调。

示例:

let fd = fileio.openSync(path);
fileio.fdatasync (fd, function (err) {
    // do something
});

fileio.fdatasyncSync7+

fdatasyncSync(fd: number): void

以同步方法实现文件内容数据同步。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待同步文件的文件描述符。

示例:

let fd = fileio.openSync(path);
let stat = fileio.fdatasyncSync(fd);

fileio.symlink7+

symlink(target: string, srcPath: string): Promise

基于文件路径创建符号链接,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
targetstring目标文件的应用沙箱路径。
srcPathstring符号链接文件的应用沙箱路径。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let target = path;
let srcPath = target + 'aaa';
fileio.symlink(target, srcPath).then(function() {
    console.info("symlink succeed");
}).catch(function(err){
    console.info("symlink failed with error:"+ err);
});

fileio.symlink7+

symlink(target: string, srcPath: string, callback: AsyncCallback): void

基于文件路径创建符号链接,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
targetstring目标文件的应用沙箱路径。
srcPathstring符号链接文件的应用沙箱路径。
callbackAsyncCallback异步创建符号链接信息之后的回调。

示例:

let target = path;
let srcPath = target + 'aaa';
fileio.symlink(target, srcPath, function (err) {
    // do something
});

fileio.symlinkSync7+

symlinkSync(target: string, srcPath: string): void

以同步的方法基于文件路径创建符号链接。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
targetstring目标文件的应用沙箱路径。
srcPathstring符号链接文件的应用沙箱路径。

示例:

let target = path;
let srcPath = target + 'aaa';
fileio.symlinkSync(target, srcPath);

fileio.chown7+

chown(path: string, uid: number, gid: number): Promise

基于文件路径改变文件所有者,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待改变文件的应用沙箱路径。
uidnumber新的UID(UserID)。
gidnumber新的GID(GroupID)。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let stat = fileio.statSync(path);
fileio.chown(path, stat.uid, stat.gid).then(function(){
    console.info("chown succeed");
}).catch(function(err){
    console.info("chown failed with error:"+ err);
});

fileio.chown7+

chown(path: string, uid: number, gid: number, callback: AsyncCallback): void

基于文件路径改变文件所有者,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待改变文件的应用沙箱路径。
uidnumber新的UID。
gidnumber新的GID。
callbackAsyncCallback异步改变文件所有者之后的回调。

示例:

let stat = fileio.statSync(path)
fileio.chown(path, stat.uid, stat.gid, function (err){
    // do something
});

fileio.chownSync7+

chownSync(path: string, uid: number, gid: number): void

以同步的方法基于文件路径改变文件所有者。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待改变文件的应用沙箱路径。
uidnumber新的UID。
gidnumber新的GID。

示例:

let stat = fileio.statSync(path)
fileio.chownSync(path, stat.uid, stat.gid);

fileio.mkdtemp7+

mkdtemp(prefix: string): Promise

创建临时目录,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
prefixstring用随机产生的字符串替换以“XXXXXX”结尾目录路径。

返回值:

类型说明
PromisePromise对象。返回生成的唯一目录路径。

示例:

fileio.mkdtemp(path + "XXXX").then(function(path){
    console.info("mkdtemp succeed:"+ path);
}).catch(function(err){
    console.info("mkdtemp failed with error:"+ err);
});

fileio.mkdtemp7+

mkdtemp(prefix: string, callback: AsyncCallback): void

创建临时目录,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
prefixstring用随机产生的字符串替换以“XXXXXX”结尾目录路径。
callbackAsyncCallback异步创建临时目录之后的回调。

示例:

fileio.mkdtemp(path + "XXXX", function (err, res) {
    // do something
});

fileio.mkdtempSync7+

mkdtempSync(prefix: string): string

以同步的方法创建临时目录。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
prefixstring用随机产生的字符串替换以“XXXXXX”结尾目录路径。

返回值:

类型说明
string产生的唯一目录路径。

示例:

let res = fileio.mkdtempSync(path + "XXXX");

fileio.fchmod7+

fchmod(fd: number, mode: number): Promise

基于文件描述符改变文件权限,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待改变文件的文件描述符。
modenumber若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let fd = fileio.openSync(path);
let mode = 0o700;
fileio.fchmod(fd, mode).then(function() {
    console.info("chmod succeed");
}).catch(function(err){
    console.info("chmod failed with error:"+ err);
});

fileio.fchmod7+

fchmod(fd: number, mode: number, callback: AsyncCallback): void

基于文件描述符改变文件权限,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待改变文件的文件描述符。
modenumber若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。
callbackAsyncCallback 异步改变文件权限之后的回调。

示例:

let fd = fileio.openSync(path);
let mode = 0o700;
fileio.fchmod(fd, mode, function (err) {
    // do something
});

fileio.fchmodSync7+

fchmodSync(fd: number, mode: number): void

以同步方法基于文件描述符改变文件权限。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待改变文件的文件描述符。
modenumber若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。

示例:

let fd = fileio.openSync(path);
let mode = 0o700;
 fileio.fchmodSync(fd, mode);

fileio.createStream7+

createStream(path: string, mode: string): Promise

基于文件路径打开文件流,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
modestring- r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

返回值:

类型说明
Promise<[Stream]>Promise对象。返回文件流的结果。

示例:

fileio.createStream(path, "r+").then(function(stream){
    console.info("createStream succeed");
}).catch(function(err){
    console.info("createStream failed with error:"+ err);
});

fileio.createStream7+

createStream(path: string, mode: string, callback: AsyncCallback): void

基于文件路径打开文件流,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
modestring- r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
callbackAsyncCallback<[Stream]>异步打开文件流之后的回调。

示例:

fileio.createStream(path, "r+", function(err, stream){
    // do something
});

fileio.createStreamSync7+

createStreamSync(path: string, mode: string): Stream

以同步方法基于文件路径打开文件流。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
modestring- r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

返回值:

类型说明
[Stream]返回文件流的结果。

示例:

let ss = fileio.createStreamSync(path, "r+");

fileio.fdopenStream7+

fdopenStream(fd: number, mode: string): Promise

基于文件描述符打开文件流,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待打开文件的文件描述符。
modestring- r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

返回值:

类型说明
Promise<[Stream]>Promise对象。返回文件流的结果。

示例:

let fd = fileio.openSync(path);
fileio.fdopenStream(fd, "r+").then(function(stream){
    console.info("openStream succeed");
}).catch(function(err){
    console.info("openStream failed with error:"+ err);
});

fileio.fdopenStream7+

fdopenStream(fd: number, mode: string, callback: AsyncCallback): void

基于文件描述符打开文件流,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待打开文件的文件描述符。
modestring- r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
callbackAsyncCallback <[Stream]>异步打开文件流之后的回调。

示例:

let fd = fileio.openSync(path);
fileio.fdopenStream(fd, "r+", function (err, stream) {
    // do something
});

fileio.fdopenStreamSync7+

fdopenStreamSync(fd: number, mode: string): Stream

以同步方法基于文件描述符打开文件流。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待打开文件的文件描述符。
modestring- r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

返回值:

类型说明
[Stream]返回文件流的结果。

示例:

let fd = fileio.openSync(path);
let ss = fileio.fdopenStreamSync(fd, "r+");

fileio.fchown7+

fchown(fd: number, uid: number, gid: number): Promise

基于文件描述符改变文件所有者,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待改变文件的文件描述符。
uidnumber文件所有者的UID。
gidnumber文件所有组的GID。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let fd = fileio.openSync(path);
let stat = fileio.statSync(path);
fileio.fchown(fd, stat.uid, stat.gid).then(function() {
    console.info("chown succeed");
}).catch(function(err){
    console.info("chown failed with error:"+ err);
});

fileio.fchown7+

fchown(fd: number, uid: number, gid: number, callback: AsyncCallback): void

基于文件描述符改变文件所有者,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待改变文件的文件描述符。
uidnumber文件所有者的UID。
gidnumber文件所有组的GID。
callbackAsyncCallback异步改变文件所有者之后的回调。

示例:

let fd = fileio.openSync(path);
let stat = fileio.statSync(path);
fileio.fchown(fd, stat.uid, stat.gid, function (err){
    // do something
});

fileio.fchownSync7+

fchownSync(fd: number, uid: number, gid: number): void

以同步方法基于文件描述符改变文件所有者。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
fdnumber待改变文件的文件描述符。
uidnumber文件所有者的UID。
gidnumber文件所有组的GID。

示例:

let fd = fileio.openSync(path);
let stat = fileio.statSync(path);
fileio.fchownSync(fd, stat.uid, stat.gid);

fileio.lchown7+

lchown(path: string, uid: number, gid: number): Promise

基于文件路径改变文件所有者,更改符号链接本身的所有者,而不是符号链接所指向的实际文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
uidnumber新的UID。
gidnumber新的GID。

返回值:

类型说明
PromisePromise对象。无返回值。

示例:

let stat = fileio.statSync(path);
fileio.lchown(path, stat.uid, stat.gid).then(function() {
    console.info("chown succeed");
}).catch(function(err){
    console.info("chown failed with error:"+ err);
});

fileio.lchown7+

lchown(path: string, uid: number, gid: number, callback: AsyncCallback): void

基于文件路径改变文件所有者,更改符号链接本身的所有者,而不是更改符号链接所指向的实际文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
uidnumber新的UID。
gidnumber新的GID。
callbackAsyncCallback异步改变文件所有者之后的回调。

示例:

let stat = fileio.statSync(path);
fileio.lchown(path, stat.uid, stat.gid, function (err){
    // do something
});

fileio.lchownSync7+

lchownSync(path: string, uid: number, gid: number): void

以同步方法基于文件路径改变文件所有者,更改符号链接本身的所有者,而不是更改符号链接所指向的实际文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
pathstring待打开文件的应用沙箱路径。
uidnumber新的UID。
gidnumber新的GID。

示例:

let stat = fileio.statSync(path);
fileio.lchownSync(path, stat.uid, stat.gid);

fileio.createWatcher7+

createWatcher(filename: string, events: number, callback: AsyncCallback): Watcher

监听文件或者目录的变化,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
filenamestring待监视文件的应用沙箱路径。
eventsNumber- 1: 监听文件或者目录是否发生重命名。 - 2:监听文件或者目录内容的是否修改。 - 3:两者都有。
callbackAsyncCallback每发生变化一次,调用一次此函数。

返回值:

类型说明
[Watcher]Promise对象。返回文件变化监听的实例。

示例:

let filename = path +"/test.txt";
fileio.createWatcher(filename, 1, function(number){
   console.info("Monitoring times: "+number);
});

Readout

仅用于read方法,获取文件的读取结果。

系统能力:以下各项对应的系统能力均为SystemCapability.FileManagement.File.FileIO。

名称参数类型可读可写说明
bytesReadnumber实际读取长度。
offsetnumber读取数据相对于缓冲区首地址的偏移。
bufferArrayBufer保存读取数据的缓冲区。

Stat

文件具体信息,在调用Stat的方法前,需要先通过[stat()]方法(同步或异步)来构建一个Stat实例。

系统能力:以下各项对应的系统能力均为SystemCapability.FileManagement.File.FileIO。

属性

名称参数类型可读可写说明
devnumber标识包含该文件的主设备号。
inonumber标识该文件。通常同设备上的不同文件的INO不同。
modenumber表示文件类型及权限,其首 4 位表示文件类型,后 12 位表示权限。各特征位的含义如下: - 0o170000:可用于获取文件类型的掩码。 - 0o140000:文件是套接字。 - 0o120000:文件是符号链接。 - 0o100000:文件是一般文件。 - 0o060000:文件属于块设备。 - 0o040000:文件是目录。 - 0o020000:文件是字符设备。 - 0o010000:文件是具名管道,即FIFO。 - 0o0700:可用于获取用户权限的掩码。 - 0o0400:用户读,对于普通文件,所有者可读取文件;对于目录,所有者可读取目录项。 - 0o0200:用户写,对于普通文件,所有者可写入文件;对于目录,所有者可创建/删除目录项。 - 0o0100:用户执行,对于普通文件,所有者可执行文件;对于目录,所有者可在目录中搜索给定路径名。 - 0o0070:可用于获取用户组权限的掩码。 - 0o0040:用户组读,对于普通文件,所有用户组可读取文件;对于目录,所有用户组可读取目录项。 - 0o0020:用户组写,对于普通文件,所有用户组可写入文件;对于目录,所有用户组可创建/删除目录项。 - 0o0010:用户组执行,对于普通文件,所有用户组可执行文件;对于目录,所有用户组是否可在目录中搜索给定路径名。 - 0o0007:可用于获取其他用户权限的掩码。 - 0o0004:其他读,对于普通文件,其余用户可读取文件;对于目录,其他用户组可读取目录项。 - 0o0002:其他写,对于普通文件,其余用户可写入文件;对于目录,其他用户组可创建/删除目录项。 - 0o0001:其他执行,对于普通文件,其余用户可执行文件;对于目录,其他用户组可在目录中搜索给定路径名。
nlinknumber文件的硬链接数。
uidnumber文件所有者的ID。
gidnumber文件所有组的ID。
rdevnumber标识包含该文件的从设备号。
sizenumber文件的大小,以字节为单位。仅对普通文件有效。
blocksnumber文件占用的块数,计算时块大小按512B计算。
atimenumber上次访问该文件的时间,表示距1970年1月1日0时0分0秒的秒数。
mtimenumber上次修改该文件的时间,表示距1970年1月1日0时0分0秒的秒数。
ctimenumber最近改变文件状态的时间,表示距1970年1月1日0时0分0秒的秒数。

isBlockDevice

isBlockDevice(): boolean

用于判断文件是否是块特殊文件。一个块特殊文件只能以块为粒度进行访问,且访问的时候带缓存。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是块特殊设备。

示例:

let isBLockDevice = fileio.statSync(path).isBlockDevice();

isCharacterDevice

isCharacterDevice(): boolean

用于判断文件是否是字符特殊文件。一个字符特殊设备可进行随机访问,且访问的时候不带缓存。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是字符特殊设备。

示例:

let isCharacterDevice = fileio.statSync(path).isCharacterDevice();

isDirectory

isDirectory(): boolean

用于判断文件是否是目录。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是目录。

示例:

let isDirectory = fileio.statSync(path).isDirectory(); 

isFIFO

isFIFO(): boolean

用于判断文件是否是命名管道(有时也称为FIFO)。命名管道通常用于进程间通信。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是 FIFO。

示例:

let isFIFO = fileio.statSync(path).isFIFO(); 

isFile

isFile(): boolean

用于判断文件是否是普通文件。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是普通文件。

示例:

let isFile = fileio.statSync(path).isFile();

isSocket

isSocket(): boolean

用于判断文件是否是套接字。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是套接字。

示例:

let isSocket = fileio.statSync(path).isSocket(); 

isSymbolicLink

isSymbolicLink(): boolean

用于判断文件是否是符号链接。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示文件是否是符号链接。

示例:

let isSymbolicLink = fileio.statSync(path).isSymbolicLink(); 

Watcher7+

Watcher是文件变化监听的实例,调用Watcher.stop()方法(同步或异步)来停止文件监听。

stop7+

stop(): Promise

关闭watcher监听,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

示例:

let filename = path +"/test.txt";
let watcher = fileio.createWatcher(filename, 1, function(number){
    console.info("Monitoring times: "+number);
});
watcher.stop().then(function(){
     console.info("close watcher succeed");
});

stop7+

stop(callback: AsyncCallback): void

关闭watcher监听,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
callbackAsyncCallback以异步方法关闭watcher监听之后的回调。

示例:

let filename = path +"/test.txt";
let watcher = fileio.createWatcher(filename, 1, function(number){
    console.info("Monitoring times: "+number);
});
watcher.stop(function(){
    console.info("close watcher succeed");
})

Stream

文件流,在调用Stream的方法前,需要先通过createStream()方法(同步或异步)来构建一个Stream实例。

close7+

close(): Promise

关闭文件流,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
PromisePromise对象。返回表示异步关闭文件流的结果。

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.close().then(function(){
    console.info("close fileStream succeed");
}).catch(function(err){
    console.info("close fileStream  failed with error:"+ err);
});

close7+

close(callback: AsyncCallback): void

异步关闭文件流,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
callbackAsyncCallback异步关闭文件流之后的回调。

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.close(function (err) {
    // do something
});

closeSync

closeSync(): void

同步关闭文件流。

系统能力:SystemCapability.FileManagement.File.FileIO

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.closeSync();

flush7+

flush(): Promise

刷新文件流,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
PromisePromise对象。返回表示异步刷新文件流的结果。

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.flush().then(function (){
    console.info("flush succeed");
}).catch(function(err){
    console.info("flush failed with error:"+ err);
});

flush7+

flush(callback: AsyncCallback): void

异步刷新文件流,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
callbackAsyncCallback异步刷新文件流后的回调函数。

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.flush(function (err) {
    // do something
});

flushSync7+

flushSync(): void

同步刷新文件流。

系统能力:SystemCapability.FileManagement.File.FileIO

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.flushSync();

write7+

write(buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise

将数据写入流文件,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
bufferArrayBufferstring
optionsObject支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。

返回值:

类型说明
PromisePromise对象。返回实际写入的长度。

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.write("hello, world",{offset: 1,length: 5,position: 5,encoding :'utf-8'}).then(function (number){
    console.info("write succeed and size is:"+ number);
}).catch(function(err){
    console.info("write failed with error:"+ err);
});

write7+

write(buffer: ArrayBuffer | string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback): void

将数据写入流文件,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
bufferArrayBufferstring
optionsObject支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。
callbackAsyncCallback异步写入完成后执行的回调函数。

示例:

let ss= fileio.createStreamSync(path, "r+");
ss.write("hello, world", {offset: 1, length: 5, position: 5, encoding :'utf-8'}, function (err, bytesWritten) {
    if (bytesWritten) {
       // do something
       console.info("write succeed and size is:"+ bytesWritten);
    }
});

writeSync7+

writeSync(buffer: ArrayBuffer | string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): number

以同步方法将数据写入流文件。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
bufferArrayBufferstring
optionsObject支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。

返回值:

类型说明
number实际写入的长度。

示例:

let ss= fileio.createStreamSync(path,"r+");
let num = ss.writeSync("hello, world", {offset: 1, length: 5, position: 5, encoding :'utf-8'});

read7+

read(buffer: ArrayBuffer, options?: { position?: number; offset?: number; length?: number; }): Promise

从流文件读取数据,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
bufferArrayBuffer用于读取文件的缓冲区。
optionsObject支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。

返回值:

类型说明
Promise<[ReadOut]>Promise对象。返回读取的结果。

示例:

let ss = fileio.createStreamSync(path, "r+");
ss.read(new ArrayBuffer(4096), {offset: 1, length: 5, position: 5}).then(function (readOut){
    console.info("read data succeed");
    console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
}).catch(function(err){
    console.info("read data failed with error:"+ err);
});

read7+

read(buffer: ArrayBuffer, options: { position?: number; offset?: number; length?: number; }, callback: AsyncCallback): void

从流文件读取数据,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
bufferArrayBuffer用于读取文件的缓冲区。
optionsObject支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。
callbackAsyncCallback<[ReadOut]>异步从流文件读取数据之后的回调。

示例:

let ss = fileio.createStreamSync(path, "r+");
ss.read(new ArrayBuffer(4096),{offset: 1, length: 5, position: 5},function (err, readOut) {
    if (readOut) {
        console.info("read data succeed");
        console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)));
    }
});

readSync7+

readSync(buffer: ArrayBuffer, options?: { position?: number; offset?: number; length?: number; }): number

以同步方法从流文件读取数据。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
bufferArrayBuffer用于读取文件的缓冲区。
optionsObject支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。

返回值:

类型说明
number实际读取的长度。

示例:

let ss = fileio.createStreamSync(path, "r+");
let num = ss.readSync(new ArrayBuffer(4096), {offset: 1, length: 5, position: 5});

Dir

管理目录,在调用Dir的方法前,需要先通过opendir方法(同步或异步)来构建一个Dir实例。

read

read(): Promise

读取下一个目录项,使用Promise异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
Promise<[Dirent]>Promise对象。返回表示异步读取目录项的结果。

示例:

dir.read().then(function (dirent){
    console.log("read succeed:"+JSON.stringify(dirent));
}).catch(function(err){
    console.info("read failed with error:"+ err);
});

read

read(callback: AsyncCallback): void

读取下一个目录项,使用callback异步回调。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名类型必填说明
callbackAsyncCallback<[Dirent]>异步读取下一个目录项之后的回调。

示例:

dir.read(function (err, dirent) {
    if (dirent) {
        // do something
        console.log("read succeed:"+JSON.stringify(dirent));
    }
});

readSync

readSync(): Dirent

同步读取下一个目录项。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
[Dirent]表示一个目录项。

示例:

let dirent = dir.readSync();

close7+

close(): Promise

异步关闭目录,使用promise形式返回结果。目录被关闭后,Dir中持有的文件描述将被释放,后续将无法从Dir中读取目录项。

系统能力:SystemCapability.FileManagement.File.FileIO

示例:

dir.close().then(function(err){
    console.info("close dir successfully");
});

close7+

close(callback: AsyncCallback): void

异步关闭目录,使用callback形式返回结果。目录被关闭后,Dir中持有的文件描述将被释放,后续将无法从Dir中读取目录项。

系统能力:SystemCapability.FileManagement.File.FileIO

示例:

dir.close(function(err){
    console.info("close dir successfully");
});

closeSync

closeSync(): void

用于关闭目录。目录被关闭后,Dir中持有的文件描述将被释放,后续将无法从Dir中读取目录项。

系统能力:SystemCapability.FileManagement.File.FileIO

示例:

dir.closeSync();

Dirent

在调用Dirent的方法前,需要先通过[dir.read()]方法(同步或异步)来构建一个Dirent实例。

系统能力:以下各项对应的系统能力均为SystemCapability.FileManagement.File.FileIO。

属性

名称参数类型可读可写说明
namestring目录项的名称。

isBlockDevice

isBlockDevice(): boolean

用于判断当前目录项是否是块特殊文件。一个块特殊文件只能以块为粒度进行访问,且访问的时候带缓存。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是块特殊设备。

示例:

let dir = fileio.opendirSync(path);
let isBLockDevice = dir.readSync().isBlockDevice();

isCharacterDevice

isCharacterDevice(): boolean

用于判断当前目录项是否是字符特殊设备。一个字符特殊设备可进行随机访问,且访问的时候不带缓存。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是字符特殊设备。

示例:

let dir = fileio.opendirSync(path);
let isCharacterDevice = dir.readSync().isCharacterDevice(); 

isDirectory

isDirectory(): boolean

用于判断当前目录项是否是目录。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是目录。

示例:

let dir = fileio.opendirSync(path);
let isDirectory = dir.readSync().isDirectory(); 

isFIFO

isFIFO(): boolean

用于判断当前目录项是否是命名管道(有时也称为FIFO)。命名管道通常用于进程间通信。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是FIFO。

示例:

let dir = fileio.opendirSync(path);
let isFIFO = dir.readSync().isFIFO(); 

isFile

isFile(): boolean

用于判断当前目录项是否是普通文件。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是普通文件。

示例:

let dir = fileio.opendirSync(path);
let isFile = dir.readSync().isFile(); 

isSocket

isSocket(): boolean

用于判断当前目录项是否是套接字。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是套接字。

示例:

let dir = fileio.opendirSync(path);
let isSocket = dir.readSync().isSocket(); 

isSymbolicLink

isSymbolicLink(): boolean

用于判断当前目录项是否是符号链接。

系统能力:SystemCapability.FileManagement.File.FileIO

返回值:

类型说明
boolean表示当前目录项是否是符号链接。

示例:

let dir = fileio.opendirSync(path);
let isSymbolicLink = dir.readSync().isSymbolicLink();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/699989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我要成为算法高手-双指针篇

目录 什么是双指针?问题1&#xff1a;移动零问题2&#xff1a;复写零问题3&#xff1a;快乐数问题4&#xff1a;盛最多水的容器问题5&#xff1a;有效三角形个数问题6&#xff1a;查找总价格和为目标值的两个商品(两数之和)问题7&#xff1a;三数之和问题8&#xff1a;四数之和…

【Affine / Perspective Transformation】

文章目录 仿射变换介绍仿射变换 python 实现——cv2.warpAffine透视变换透视变换 python 实现——cv2.warpPerspective牛刀小试各类变换的区别与联系仿射变换和单应性矩阵透视变换和单应性矩阵 仿射变换介绍 仿射变换&#xff08;Affine Transformation&#xff09;&#xff0…

鸿蒙轻内核A核源码分析系列四(2) 虚拟内存

本文我们来熟悉下OpenHarmony鸿蒙轻内核提供的虚拟内存&#xff08;Virtual memory&#xff09;管理模块。 本文中所涉及的源码&#xff0c;以OpenHarmony LiteOS-A内核为例&#xff0c;均可以在开源站点 https://gitee.com/openharmony/kernel_liteos_a 获取。如果涉及开发板…

基于微信小程序的“最多跑一次”警务信息管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…

Linux用户,用户组,所有者权限分配,sftp用户权限分配

注意以下命令执行需要在root用户下执行 tenant命令切换至root命令 sudo -do root 删除用户信息 1.不删除用户主目录 userdel user_name 2.删除用户主目录 userdel -r user_name usermod命令修改用户账户权限 更改用户名 sudo usermod -l newusername oldusername 更…

亚马逊竞品分析之如何查找竞品

初选之后,要对产品进行竞品分析,查找竞品的方法: 1.Best Seller榜单查找 进入到该类目的BS榜单去找跟你选中的产品的竞品 看完BS榜单会找出一部分竞品 这个找相似也可以点击,是插件的一个以图搜图的功能,不过有的时候不太好使,某些同款产品可能搜不到。 Edge浏览器搭…

The First项目报告:Stargate Finance重塑跨链金融的未来

Stargate Finance是一个基于LayerZero协议的去中心化金融平台&#xff0c;自2022年3月由LayerZero Labs创建以来&#xff0c;一直致力于为不同区块链之间的资产转移提供高效、低成本的解决方案。凭借其独特的跨链技术和丰富的DeFi服务&#xff0c;Stargate Finance已成为连接不…

Vue3相关语法内容,组件传值,事件监听,具名插槽。

1、Vue3相关语法内容 赋值语句(ref、reactive系列)组件传值(父子&#xff0c;子父)watch&#xff0c;watchEffect监听slot具名插槽 1、赋值语法&#xff08;ref&#xff0c;reactive&#xff09; 1.1、ref 、isRef、 shallowRef、triggerRef、customRef 支持所有的类型&…

视觉SLAM14精讲——相机与图像3.2

视觉SLAM14精讲 三维空间刚体运动1.0三维空间刚体运动1.1三维空间刚体运动1.2李群与李代数2.1相机与图像3.1 视觉SLAM14精讲——相机与图像3.2 视觉SLAM14精讲畸变有关重投影误差缩放实际使用 畸变 相机畸变是相机镜头光学缺陷所致的缺陷&#xff0c; 在光学领域这种问题是没…

【学习笔记】使用gcc编译程序并检查依赖的库

编译 gcc echo.c -o app -lfcgi-o app&#xff1a;指定编译后的输出文件名为 app。 -lfcgi&#xff1a;告诉编译器链接 FastCGI 库。 检查 ldd appldd 是一个在 Unix 和类 Unix 系统中用来打印一个已编译的程序所依赖的共享库列表的命令。当你运行 ldd app 命令时&#xff0…

机器人建模、运动学与动力学仿真分析(importrobot,loadrobot,smimport)

机器人建模、运动学与动力学仿真分析是机器人设计和开发过程中的关键步骤。 一、机器人建模 机器人建模是描述机器人物理结构和运动特性的过程。其中&#xff0c;URDF&#xff08;Unified Robot Description Format&#xff09;是一种常用的机器人模型描述方法。通过URDF&…

【CTS】android CTS测试

android CTS测试 1.硬件准备2. 软件准备3. 下载 CTS3.1 cts3.2 解压 CTS 包&#xff1a; 4 配置adb fastboot5 检查 Java 版本6 安装aapt26.1 下载并安装 Android SDK6.2 找到 aapt2 工具6.3 配置环境变量 7. 准备测试设备8. 运行 CTS 测试8.1 启动 CTS&#xff1a; 9. 查看测试…

vue-cli 快速入门

vue-cli &#xff08;目前向Vite发展&#xff09; 介绍&#xff1a;Vue-cli 是Vue官方提供一个脚手架&#xff0c;用于快速生成一个Vue的项目模板。 Vue-cli提供了如下功能&#xff1a; 统一的目录结构 本地调试 热部署 单元测试 集成打包上线 依赖环境&#xff1a;NodeJ…

第8章 函数

第8章 函数 8.1 定义函数8.1.1 向函数传递信息8.1.2 实参和形参 8.2 传递实参8.2.1 位置实参8.2.2 关键字实参8.2.3 默认值 8.3 返回值8.3.1 返回简单值8.3.2 让实参变成可选的8.3.3 返回字典8.3.4 结合使用函数和 while 循环 8.4 传递列表8.4.1 在函数中修改列表8.4.2 禁止函数…

DeepSpeed Mixture-of-Quantization (MoQ)

属于QAT (Quantization-Aware Training)的一种&#xff0c;训练阶段用量化。 特点是&#xff1a; 1. 从16-bit INT开始训练&#xff0c;逐渐减1bit&#xff0c;训练一些steps就减1bit&#xff0c;直至减至8bit INT&#xff1b; 2. &#xff08;可选&#xff0c;不一定非用&a…

Linux-笔记 全志平台镜像中添加git提交号

引言 通过在镜像中某个位置添加git提交号&#xff0c;可以方便排查与追溯是哪个提交编译出来的。 这里使用的全志T113平台&#xff0c;SDK为Tina5.0。 实现的办法有&#xff1a; 1、内核/proc/cpuinfo的打印信息及设备树中查看提交号 2、从设备树查看提交号 3、从uboot启动…

代码随想录-Day29

491. 非递减子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作递增序列的一种特殊情…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-25 多点电容触摸屏实验

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

双重循环、多重循环程序设计

双重循环格式&#xff1a; for(循环条件1){ 语句1&#xff1b; for(循环条件2){ 语句2&#xff1b; } } 例题1&#xff1a;输入一个整数n&#xff0c;输出一个n层的*三角形塔&#xff08;完成例1&#xff09;。 输入样例&#xff1a;6 输出样例&#xff1a; * ** *** **…

Codeforces Global Round 26

Codeforces Global Round 26 Codeforces Global Round 26 A. Strange Splitting 题意&#xff1a;非空数组的范围定义为该数组的最大值减去最小值&#xff0c;现在给出长度大于 n n n的整数数组 a a a&#xff0c;将其分成两组&#xff0c;每组至少一个元素&#xff0c;且两…