鸿蒙开发文件管理:【@ohos.fileio (文件管理)】
文件管理
该模块提供文件存储管理能力,包括文件基本管理、文件目录管理、文件信息统计、文件流式读写等常用功能。
说明: 本模块首批接口从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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待获取文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待获取文件的应用沙箱路径。 |
callback | AsyncCallback<[Stat]> | 是 | 异步获取文件的信息之后的回调。 |
示例:
fileio.stat(path, function (err, stat) {// example code in Stat
});
fileio.statSync
statSync(path:string): Stat
以同步方法获取文件的信息。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待获取文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
[Stat] | 表示文件的具体信息。 |
示例:
let stat = fileio.statSync(path);
// example code in Stat
fileio.opendir
opendir(path: string): Promise
打开文件目录,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件目录的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
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
打开文件目录,使用callback异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件目录的应用沙箱路径。 |
callback | AsyncCallback<[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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件目录的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
[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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待访问文件的应用沙箱路径。 |
mode | number | 否 | 访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待访问文件的应用沙箱路径。 |
mode | number | 否 | 访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。 确认当前进程是否具有对应权限: - 0:确认文件是否存在。 - 1:确认当前进程是否具有可执行权限。 - 2:确认当前进程是否具有写权限。 - 4:确认当前进程是否具有读权限。 |
callback | AsyncCallback | 是 | 异步检查当前进程是否可访问某文件之后的回调。 |
示例:
fileio.access(path, function (err) {// do something
});
fileio.accessSync
accessSync(path: string, mode?: number): void
以同步方法检查当前进程是否可访问某文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待访问文件的应用沙箱路径。 |
mode | number | 否 | 访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待关闭文件的文件描述符。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待关闭文件的文件描述符。 |
callback | AsyncCallback | 是 | 异步关闭文件之后的回调。 |
示例:
let fd = fileio.openSync(path);
fileio.close(fd, function (err) {// do something
});
fileio.closeSync
closeSync(fd: number): void
以同步方法关闭文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待关闭文件的文件描述符。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
src | string | number | 是 |
dest | string | number | 是 |
mode | number | 否 | mode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
src | string | number | 是 |
dest | string | number | 是 |
mode | number | 否 | mode提供覆盖文件的选项,当前仅支持0,且默认为0。 0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
callback | AsyncCallback | 是 | 异步复制文件之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
src | string | number | 是 |
dest | string | number | 是 |
mode | number | 否 | mode提供覆盖文件的选项,当前仅支持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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待创建目录的应用沙箱路径。 |
mode | number | 否 | 创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待创建目录的应用沙箱路径。 |
mode | number | 否 | 创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。 - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
callback | AsyncCallback | 是 | 异步创建目录操作完成之后的回调。 |
示例:
fileio.mkdir(path, function(err) {console.info("mkdir succeed");
});
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.mkdirSync(path);
fileio.open7+
open(path: string, flags?: number, mode?: number): Promise
打开文件,使用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 | Promise对象。返回打开文件的文件描述符。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
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 | 是 | 异步打开文件之后的回调。 |
示例:
fileio.open(path, 0, function(err, fd) {// do something
});
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 | 打开文件的文件描述符。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待读取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存读取到的文件数据的缓冲区。 |
options | Object | 否 | 支持如下选项: - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待读取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存读取到的文件数据的缓冲区。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。 |
callback | AsyncCallback<[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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待读取文件的文件描述符。 |
buffer | ArrayBuffer | 是 | 用于保存读取到的文件数据的缓冲区。 |
options | Object | 否 | 支持如下选项: - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待删除目录的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待删除目录的应用沙箱路径。 |
callback | AsyncCallback | 是 | 异步删除目录之后的回调。 |
示例:
fileio.rmdir(path, function(err){// do somethingconsole.info("rmdir succeed");
});
fileio.rmdirSync7+
rmdirSync(path: string): void
以同步方法删除目录。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待删除目录的应用沙箱路径。 |
示例:
fileio.rmdirSync(path);
fileio.unlink
unlink(path:string): Promise
删除文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待删除文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待删除文件的应用沙箱路径。 |
callback | AsyncCallback | 是 | 异步删除文件之后的回调。 |
示例:
fileio.unlink(path, function(err) {console.info("remove file succeed");
});
fileio.unlinkSync
unlinkSync(path: string): void
以同步方法删除文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待删除文件的应用沙箱路径。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
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 | Promise对象。返回实际写入的长度。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
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 | 是 | 异步将数据写入完成后执行的回调函数。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
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 | 实际写入的长度。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待计算哈希值文件的应用沙箱路径。 |
algorithm | string | 是 | 哈希计算采用的算法。可选 “md5”、“sha1” 或 “sha256”。建议采用安全强度更高的 “sha256”。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。返回文件的哈希值。表示为十六进制数字串,所有字母均大写。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待计算哈希值文件的应用沙箱路径。 |
algorithm | string | 是 | 哈希计算采用的算法。可选 “md5”、“sha1” 或 “sha256”。建议采用安全强度更高的 “sha256”。 |
callback | AsyncCallback | 是 | 异步计算文件哈希操作之后的回调函数(其中给定文件哈希值表示为十六进制数字串,所有字母均大写)。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 所需变更权限的文件的应用沙箱路径。 |
mode | number | 是 | 改变文件权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 所需变更权限的文件的应用沙箱路径。 |
mode | number | 是 | 改变文件权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
callback | AsyncCallback | 是 | 异步改变文件权限之后的回调。 |
示例:
fileio.chmod(path, 0o700, function (err) {// do something
});
fileio.chmodSync7+
chmodSync(path: string, mode: number): void
以同步方法改变文件权限。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 所需变更权限的文件的应用沙箱路径。 |
mode | number | 是 | 改变文件权限,可给定如下权限,以按位或的方式追加权限。 - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待获取文件状态的文件描述符。 |
返回值:
类型 | 说明 |
---|---|
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待获取文件状态的文件描述符。 |
callback | AsyncCallback<[Stat]> | 是 | 异步获取文件状态信息之后的回调。 |
示例:
let fd = fileio.openSync(path);
fileio.fstat(fd, function (err) {// do something
});
fileio.fstatSync7+
fstatSync(fd: number): Stat
以同步方法基于文件描述符获取文件状态信息。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待获取文件状态的文件描述符。 |
返回值:
类型 | 说明 |
---|---|
[Stat] | 表示文件状态的具体信息。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.fstatSync(fd);
fileio.ftruncate7+
ftruncate(fd: number, len?: number): Promise
基于文件描述符截断文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待截断文件的文件描述符。 |
len | number | 否 | 文件截断后的长度,以字节为单位。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待截断文件的文件描述符。 |
len | number | 是 | 文件截断后的长度,以字节为单位。 |
callback | AsyncCallback | 是 | 回调函数,本调用无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待截断文件的文件描述符。 |
len | number | 否 | 文件截断后的长度,以字节为单位。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待截断文件的应用沙箱路径。 |
len | number | 否 | 文件截断后的长度,以字节为单位。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待截断文件的应用沙箱路径。 |
len | number | 是 | 文件截断后的长度,以字节为单位。 |
callback | AsyncCallback | 是 | 回调函数,本调用无返回值。 |
示例:
let len = 5;
fileio.truncate(path, len, function(err){// do something
});
fileio.truncateSync7+
truncateSync(path: string, len?: number): void
以同步方法基于文件路径截断文件。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待截断文件的应用沙箱路径。 |
len | number | 否 | 文件截断后的长度,以字节为单位。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
filePath | string | 是 | 待读取文件的应用沙箱路径。 |
options | Object | 否 | 支持如下选项: - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - encoding,string类型,当数据是 string 类型时有效,表示数据的编码方式,默认 ‘utf-8’,仅支持 ‘utf-8’。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。返回读取文件的内容。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
filePath | string | 是 | 待读取文件的应用沙箱路径。 |
options | Object | 是 | 支持如下选项: - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - encoding,string类型,表示数据的编码方式,默认 ‘utf-8’,仅支持 ‘utf-8’。 |
callback | AsyncCallback | 是 | 回调函数,返回读取文件的内容。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
filePath | string | 是 | 待读取文件的应用沙箱路径。 |
options | Object | 否 | 支持如下选项: - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 目标文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 目标文件的应用沙箱路径。 |
callback | AsyncCallback<[Stat]> | 是 | 回调函数,返回文件的具体信息。 |
示例:
fileio.lstat(path, function (err, stat) {// do something
});
fileio.lstatSync7+
lstatSync(path:string): Stat
以同步方法获取链接信息。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 目标文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
[Stat] | 表示文件的具体信息。 |
示例:
let stat = fileio.lstatSync(path);
fileio.rename7+
rename(oldPath: string, newPath: string): Promise
重命名文件,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
oldPath | string | 是 | 目标文件的当前应用沙箱路径。 |
newPath | String | 是 | 目标文件的新应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
oldPath | string | 是 | 目标文件的当前应用沙箱路径。 |
newPath | String | 是 | 目标文件的新应用沙箱路径。 |
Callback | AsyncCallback | 是 | 异步重命名文件之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
oldPath | string | 是 | 目标文件的当前应用沙箱路径。 |
newPath | String | 是 | 目标文件的新应用沙箱路径。 |
示例:
let oldPath = path;
let newPath = oldPath + '123';
fileio.renameSync(oldPath, newPath);
fileio.fsync7+
fsync(fd: number): Promise
同步文件数据,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
Callback | AsyncCallback | 是 | 异步将文件数据同步之后的回调。 |
示例:
let fd = fileio.openSync(path);
fileio.fsync(fd, function(err){// do something
});
fileio.fsyncSync7+
fsyncSync(fd: number): void
以同步方法同步文件数据。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
示例:
let fd = fileio.openSync(path);
fileio.fsyncSync(fd);
fileio.fdatasync7+
fdatasync(fd: number): Promise
实现文件内容数据同步,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
callback | AsyncCallback | 是 | 异步将文件内容数据同步之后的回调。 |
示例:
let fd = fileio.openSync(path);
fileio.fdatasync (fd, function (err) {// do something
});
fileio.fdatasyncSync7+
fdatasyncSync(fd: number): void
以同步方法实现文件内容数据同步。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待同步文件的文件描述符。 |
示例:
let fd = fileio.openSync(path);
let stat = fileio.fdatasyncSync(fd);
fileio.symlink7+
symlink(target: string, srcPath: string): Promise
基于文件路径创建符号链接,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
target | string | 是 | 目标文件的应用沙箱路径。 |
srcPath | string | 是 | 符号链接文件的应用沙箱路径。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
target | string | 是 | 目标文件的应用沙箱路径。 |
srcPath | string | 是 | 符号链接文件的应用沙箱路径。 |
callback | AsyncCallback | 是 | 异步创建符号链接信息之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
target | string | 是 | 目标文件的应用沙箱路径。 |
srcPath | string | 是 | 符号链接文件的应用沙箱路径。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待改变文件的应用沙箱路径。 |
uid | number | 是 | 新的UID(UserID)。 |
gid | number | 是 | 新的GID(GroupID)。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待改变文件的应用沙箱路径。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
callback | AsyncCallback | 是 | 异步改变文件所有者之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待改变文件的应用沙箱路径。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
示例:
let stat = fileio.statSync(path)
fileio.chownSync(path, stat.uid, stat.gid);
fileio.mkdtemp7+
mkdtemp(prefix: string): Promise
创建临时目录,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
prefix | string | 是 | 用随机产生的字符串替换以“XXXXXX”结尾目录路径。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。返回生成的唯一目录路径。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
prefix | string | 是 | 用随机产生的字符串替换以“XXXXXX”结尾目录路径。 |
callback | AsyncCallback | 是 | 异步创建临时目录之后的回调。 |
示例:
fileio.mkdtemp(path + "XXXX", function (err, res) {// do something
});
fileio.mkdtempSync7+
mkdtempSync(prefix: string): string
以同步的方法创建临时目录。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
prefix | string | 是 | 用随机产生的字符串替换以“XXXXXX”结尾目录路径。 |
返回值:
类型 | 说明 |
---|---|
string | 产生的唯一目录路径。 |
示例:
let res = fileio.mkdtempSync(path + "XXXX");
fileio.fchmod7+
fchmod(fd: number, mode: number): Promise
基于文件描述符改变文件权限,使用Promise异步回调。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待改变文件的文件描述符。 |
mode | number | 是 | 若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待改变文件的文件描述符。 |
mode | number | 是 | 若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限。 - 0o700:所有者具有读、写及可执行权限。 - 0o400:所有者具有读权限。 - 0o200:所有者具有写权限。 - 0o100:所有者具有可执行权限。 - 0o070:所有用户组具有读、写及可执行权限。 - 0o040:所有用户组具有读权限。 - 0o020:所有用户组具有写权限。 - 0o010:所有用户组具有可执行权限。 - 0o007:其余用户具有读、写及可执行权限。 - 0o004:其余用户具有读权限。 - 0o002:其余用户具有写权限。 - 0o001:其余用户具有可执行权限。 |
callback | AsyncCallback | 是 | 异步改变文件权限之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待改变文件的文件描述符。 |
mode | number | 是 | 若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限。 - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件的应用沙箱路径。 |
mode | string | 是 | - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件的应用沙箱路径。 |
mode | string | 是 | - r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
callback | AsyncCallback<[Stream]> | 是 | 异步打开文件流之后的回调。 |
示例:
fileio.createStream(path, "r+", function(err, stream){// do something
});
fileio.createStreamSync7+
createStreamSync(path: string, mode: string): Stream
以同步方法基于文件路径打开文件流。
系统能力:SystemCapability.FileManagement.File.FileIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件的应用沙箱路径。 |
mode | string | 是 | - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待打开文件的文件描述符。 |
mode | string | 是 | - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待打开文件的文件描述符。 |
mode | string | 是 | - r:打开只读文件,该文件必须存在。 - r+:打开可读写的文件,该文件必须存在。 - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。 - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
callback | AsyncCallback <[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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待打开文件的文件描述符。 |
mode | string | 是 | - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待改变文件的文件描述符。 |
uid | number | 是 | 文件所有者的UID。 |
gid | number | 是 | 文件所有组的GID。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待改变文件的文件描述符。 |
uid | number | 是 | 文件所有者的UID。 |
gid | number | 是 | 文件所有组的GID。 |
callback | AsyncCallback | 是 | 异步改变文件所有者之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 待改变文件的文件描述符。 |
uid | number | 是 | 文件所有者的UID。 |
gid | number | 是 | 文件所有组的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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件的应用沙箱路径。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。无返回值。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件的应用沙箱路径。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的GID。 |
callback | AsyncCallback | 是 | 异步改变文件所有者之后的回调。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 是 | 待打开文件的应用沙箱路径。 |
uid | number | 是 | 新的UID。 |
gid | number | 是 | 新的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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
filename | string | 是 | 待监视文件的应用沙箱路径。 |
events | Number | 是 | - 1: 监听文件或者目录是否发生重命名。 - 2:监听文件或者目录内容的是否修改。 - 3:两者都有。 |
callback | AsyncCallback | 是 | 每发生变化一次,调用一次此函数。 |
返回值:
类型 | 说明 |
---|---|
[Watcher] | Promise对象。返回文件变化监听的实例。 |
示例:
let filename = path +"/test.txt";
fileio.createWatcher(filename, 1, function(number){console.info("Monitoring times: "+number);
});
Readout
仅用于read方法,获取文件的读取结果。
系统能力:以下各项对应的系统能力均为SystemCapability.FileManagement.File.FileIO。
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
bytesRead | number | 是 | 是 | 实际读取长度。 |
offset | number | 是 | 是 | 读取数据相对于缓冲区首地址的偏移。 |
buffer | ArrayBufer | 是 | 是 | 保存读取数据的缓冲区。 |
Stat
文件具体信息,在调用Stat的方法前,需要先通过[stat()]方法(同步或异步)来构建一个Stat实例。
系统能力:以下各项对应的系统能力均为SystemCapability.FileManagement.File.FileIO。
属性
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
dev | number | 是 | 否 | 标识包含该文件的主设备号。 |
ino | number | 是 | 否 | 标识该文件。通常同设备上的不同文件的INO不同。 |
mode | number | 是 | 否 | 表示文件类型及权限,其首 4 位表示文件类型,后 12 位表示权限。各特征位的含义如下: - 0o170000:可用于获取文件类型的掩码。 - 0o140000:文件是套接字。 - 0o120000:文件是符号链接。 - 0o100000:文件是一般文件。 - 0o060000:文件属于块设备。 - 0o040000:文件是目录。 - 0o020000:文件是字符设备。 - 0o010000:文件是具名管道,即FIFO。 - 0o0700:可用于获取用户权限的掩码。 - 0o0400:用户读,对于普通文件,所有者可读取文件;对于目录,所有者可读取目录项。 - 0o0200:用户写,对于普通文件,所有者可写入文件;对于目录,所有者可创建/删除目录项。 - 0o0100:用户执行,对于普通文件,所有者可执行文件;对于目录,所有者可在目录中搜索给定路径名。 - 0o0070:可用于获取用户组权限的掩码。 - 0o0040:用户组读,对于普通文件,所有用户组可读取文件;对于目录,所有用户组可读取目录项。 - 0o0020:用户组写,对于普通文件,所有用户组可写入文件;对于目录,所有用户组可创建/删除目录项。 - 0o0010:用户组执行,对于普通文件,所有用户组可执行文件;对于目录,所有用户组是否可在目录中搜索给定路径名。 - 0o0007:可用于获取其他用户权限的掩码。 - 0o0004:其他读,对于普通文件,其余用户可读取文件;对于目录,其他用户组可读取目录项。 - 0o0002:其他写,对于普通文件,其余用户可写入文件;对于目录,其他用户组可创建/删除目录项。 - 0o0001:其他执行,对于普通文件,其余用户可执行文件;对于目录,其他用户组可在目录中搜索给定路径名。 |
nlink | number | 是 | 否 | 文件的硬链接数。 |
uid | number | 是 | 否 | 文件所有者的ID。 |
gid | number | 是 | 否 | 文件所有组的ID。 |
rdev | number | 是 | 否 | 标识包含该文件的从设备号。 |
size | number | 是 | 否 | 文件的大小,以字节为单位。仅对普通文件有效。 |
blocks | number | 是 | 否 | 文件占用的块数,计算时块大小按512B计算。 |
atime | number | 是 | 否 | 上次访问该文件的时间,表示距1970年1月1日0时0分0秒的秒数。 |
mtime | number | 是 | 否 | 上次修改该文件的时间,表示距1970年1月1日0时0分0秒的秒数。 |
ctime | number | 是 | 否 | 最近改变文件状态的时间,表示距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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback | 是 | 以异步方法关闭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
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。返回表示异步关闭文件流的结果。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback | 是 | 异步关闭文件流之后的回调。 |
示例:
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
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。返回表示异步刷新文件流的结果。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback | 是 | 异步刷新文件流后的回调函数。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。 - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。 - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 ‘utf-8’。仅支持 ‘utf-8’。 约束:offset+length<=buffer.size。 |
返回值:
类型 | 说明 |
---|---|
Promise | Promise对象。返回实际写入的长度。 |
示例:
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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
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 | 是 | 异步写入完成后执行的回调函数。 |
示例:
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 somethingconsole.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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
buffer | ArrayBuffer | string | 是 |
options | Object | 否 | 支持如下选项: - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
buffer | ArrayBuffer | 是 | 用于读取文件的缓冲区。 |
options | Object | 否 | 支持如下选项: - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
buffer | ArrayBuffer | 是 | 用于读取文件的缓冲区。 |
options | Object | 否 | 支持如下选项: - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。 - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。 - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 约束:offset+length<=buffer.size。 |
callback | AsyncCallback<[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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
buffer | ArrayBuffer | 是 | 用于读取文件的缓冲区。 |
options | Object | 否 | 支持如下选项: - 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<[Dirent]> | 是 | 异步读取下一个目录项之后的回调。 |
示例:
dir.read(function (err, dirent) {if (dirent) {// do somethingconsole.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。
属性
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
name | string | 是 | 否 | 目录项的名称。 |
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();
相关文章:

鸿蒙开发文件管理:【@ohos.fileio (文件管理)】
文件管理 该模块提供文件存储管理能力,包括文件基本管理、文件目录管理、文件信息统计、文件流式读写等常用功能。 说明: 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 impor…...
硬件工程师学习规划
背景介绍 当前电子行业中,互联网因为中国人口基数大,得到很快的发展,一越成为世界第一梯队,互联网软件薪资要高于传统制造业硬件的薪资,从各大招聘软件上就能看到,那么为什么软件发展要好于硬件࿱…...
esp32 8行代码实现蓝牙音响
目录 硬件准备: 具体代码: 接线: 备注: 八行代码实现简易版蓝牙音响,亲测有效: esp32 DIY蓝牙音响_哔哩哔哩_bilibili 硬件准备: ESP32-wroom、MAX98357音频放大器模块、4欧3瓦小喇叭、杜…...
注册用户如何防止缓存穿透?
注册用户如何防止缓存穿透? 先说明用户注册为什么会发送缓存穿透:用户注册时,需要验证用户名是否已存在,先查缓存,没有再查数据库,还没有才验证通过。高并发的情况下就可能有大量用户同时注册,…...
Presto基础知识
Presto缓存 引入Presto缓存之前 BackgroundHiveSplitLoader 使用底层的文件系统直接进行数据的读写; 引入Presto缓存机制之后,底层的文件系统被被CachingFileSystem 代理一层 CachingFileSystem 有两个子类,根据你选用的底层缓存引擎的不同…...
Ajax + Easy Excel 通过Blob实现导出excel
前端代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><script src"./js/jquery-3.6.0.min.js"></script></head><body><div><button onclick"exportF…...
Qt+qss动态属性改变控件状态切换的样式
先说点基础的吧,qt的样式实现,常见的主要有三种方式,分别为: 1.ui界面中右键样式表直接添加 2.代码中对控件设置样式setStyleSheet 3.外部预设好qss文件,代码中加载后设置样式 实际工作开发中,我推荐使用优…...

纷享销客安全体系:安全运维运营
安全运维运营(Security Operations,SecOps)是指在信息安全管理中负责监控、检测、响应和恢复安全事件的一系列运营活动。它旨在保护组织的信息系统和数据免受安全威胁和攻击的损害。 通过有效的安全运维运营,组织可以及时发现和应对安全威胁,减少安全事…...

富瀚微FH8322 ISP图像调试—BLC校正
1、简单介绍 目录 1、简单介绍 2、调试方法 3、输出结果 富瀚微平台调试有一段时间了,一直没有总结,我们调试ISP的时候,首先一步时确定好sensor的黑电平值,黑电平如果不准,则会影响到后面的颜色及对比度相关模块。…...

什么是大型语言模型 ?
引言 在本文[1]中,我们将从高层次概述大型语言模型 (LLM) 的具体含义。 背景 2023年11月,我偶然间听闻了OpenAI的开发者大会,这个大会展示了人工智能领域的革命性进展,让我深深着迷。怀着对这一领域的浓厚兴趣,我加入了…...

RocketMq详解:二、SpringBoot集成RocketMq
在上一章中我们对Rocket的基础知识、特性以及四大核心组件进行了详细的介绍,本章带着大家一起去在项目中具体的进行应用,并设计将其作为一个工具包只提供消息的分发服务和业务模块进行解耦 在进行本章的学习之前,需要确保你的可以正常启动和…...

【源码】二开版微盘交易系统/贵金属交易平台/微交易系统
二开版微盘交易系统/贵金属交易平台/微交易系统 一套二开前端UI得贵金属微交易系统,前端产品后台可任意更换 此系统框架不是以往的至尊的框架,系统完美运行,K线采用nodejs方式运行 K线结算都正常,附带教程 资源来源:https://www.…...
React@16.x(26)useContext
目录 1,上下文的使用2,useContext 1,上下文的使用 之前的文章中介绍过 context上下文。 使用举例: import React, { useState } from "react";const ctx React.createContext();function Child() {return <ctx.C…...

Vue2学习(04)
目录 一、组件的三大组成部分 二、组件的样式冲突scoped 三、scoped原理 编辑 四、data是一个函数 五、组件通信 1.概念:是指组件与组件之间的数据传递,组件的数据是独立的,无法直接访问其他组件的数据,想用其他组件的数…...

Python中columns()函数
1. columns的概念 在数据分析和处理中,columns是指数据表中的列,也称为字段。每一列代表了特定类型的数据,在一个数据表中,每一行代表了一个数据实例,而每一列则代表了一个特定的特征或属性。 可以直接定义和更改列标题,也可以直接读取某列的数据,或者对某列进行运算。…...
Vue3 使用 vue-clipboard3 实现一键复制
安装依赖 npm install --save vue-clipboard3示例 <template><el-input v-model"data"></el-input><button click"touchCopy">复制链接</button> </template><script setup lang"ts"> // 导入插件 …...
人机环境生态系统智能的流动性
一般来说,流动性可以理解为事物在空间或时间上的转移、变化或运动。在人机环境生态系统中,流动性可以涉及以下几个方面: 信息流动:数据、消息、知识等在系统中的传递和交换。这可能包括传感器收集的数据传输到处理中心,…...

实现开源可商用的 ChatPDF RAG:密集向量检索(R)+上下文学习(AG)
实现 ChatPDF & RAG:密集向量检索(R)上下文学习(AG) RAG 是啥?实现 ChatPDF怎么优化 RAG? RAG 是啥? RAG 是检索增强生成的缩写,是一种结合了信息检索技术与语言生成…...

对待谷歌百度等搜索引擎的正确方式
对待百度、谷歌等搜索引擎的方式是,你要站在搜索引擎之上,保持自己的独立思想和意见。 当谷歌宣布他们将会根据一个名为“Alphabet”的新控股公司来进行业务调整时,在科技界引起了一片恐慌之声。 永远不要说这是一个公司一直在做的事情。不…...

pikachu靶场通关全流程
目录 暴力破解: 1.基于表单的暴力破解: 2.验证码绕过(on server): 3.验证码绕过(on client): token防爆破: XSS: 1.反射型xss(get): 2.反射性xss(post): 3.存储型xss&#…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...