HarmonyOS API:@ohos.fileio (文件管理)

joytrian
发布于 2023-4-13 19:33
浏览
0收藏

版本:v3.1 Beta

@ohos.fileio (文件管理)

更新时间: 2023-02-17 09:19


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


说明

  • 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
  • 本模块接口从API version 9开始废弃,建议使用​​@ohos.file.fs​​替代。

导入模块

import fileio from '@ohos.fileio';

使用说明

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

Stage模型

import Ability from '@ohos.application.Ability';
class MainAbility extends Ability {
   onWindowStageCreate(windowStage) {
       let context = this.context;
       let pathDir = context.filesDir;
   }
}

Stage模型context的具体获取方法参见​​Stage模型​​。

FA模型

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

FA模型context的具体获取方法参见​​FA模型​​。

fileio.stat

stat(path: string): Promise<Stat>

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

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

参数:

参数名

类型

必填

说明

path

string

待获取文件的应用沙箱路径。

返回值:

类型

说明

Promise<​​Stat​​>

Promise对象。返回文件的具体信息。

示例:

let filePath = pathDir + "test.txt";
fileio.stat(filePath).then(function(stat){
    console.info("getFileInfo succeed, the size of file is " + stat.size);
}).catch(function(err){
    console.info("getFileInfo failed with error:"+ err);
});

fileio.stat

stat(path: string, callback: AsyncCallback<Stat>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待获取文件的应用沙箱路径。

callback

AsyncCallback<​​Stat​​>

异步获取文件的信息之后的回调。

示例:

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

fileio.statSync

statSync(path: string): Stat

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

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

参数:

参数名

类型

必填

说明

path

string

待获取文件的应用沙箱路径。

返回值:

类型

说明

​Stat​

表示文件的具体信息。

示例:

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

fileio.opendir

opendir(path: string): Promise<Dir>

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

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

参数:

参数名

类型

必填

说明

path

string

待打开文件目录的应用沙箱路径。

返回值:

类型

说明

Promise<​​Dir​​>

Promise对象。返回Dir对象。

示例:

let dirPath = pathDir + "/testDir";
fileio.opendir(dirPath).then(function(dir){
    console.info("opendir succeed");
}).catch(function(err){
    console.info("opendir failed with error:"+ err);
});

fileio.opendir

opendir(path: string, callback: AsyncCallback<Dir>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待打开文件目录的应用沙箱路径。

callback

AsyncCallback<​​Dir​​>

异步打开文件目录之后的回调。

示例:

fileio.opendir(pathDir, 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(pathDir);
// example code in Dir struct
// use read/readSync/close

fileio.access

access(path: string, mode?: number): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

待访问文件的应用沙箱路径。

mode

number

访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。

确认当前进程是否具有对应权限:

- 0:确认文件是否存在。

- 1:确认当前进程是否具有可执行权限。

- 2:确认当前进程是否具有写权限。

- 4:确认当前进程是否具有读权限。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let filePath = pathDir + "/test.txt";
fileio.access(filePath).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>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待访问文件的应用沙箱路径。

mode

number

访问文件时的选项,可给定如下选项,以按位或的方式使用多个选项,默认给定0。

确认当前进程是否具有对应权限:

- 0:确认文件是否存在。

- 1:确认当前进程是否具有可执行权限。

- 2:确认当前进程是否具有写权限。

- 4:确认当前进程是否具有读权限。

callback

AsyncCallback<void>

异步检查当前进程是否可访问某文件之后的回调。

示例:

let filePath = pathDir + "/test.txt";
fileio.access(filePath, 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:确认当前进程是否具有读权限。

示例:

let filePath = pathDir + "/test.txt";
try {
    fileio.accessSync(filePath);
} catch(err) {
    console.info("accessSync failed with error:"+ err);
}

fileio.close7+

close(fd: number): Promise<void>

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

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

参数:

参数名

类型

必填

说明

fd

number

待关闭文件的文件描述符。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
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>): void

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

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

参数:

参数名

类型

必填

说明

fd

number

待关闭文件的文件描述符。

callback

AsyncCallback<void>

异步关闭文件之后的回调。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.close(fd, function (err) {
    // do something
});

fileio.closeSync

closeSync(fd: number): void

以同步方法关闭文件。

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

参数:

参数名

类型

必填

说明

fd

number

待关闭文件的文件描述符。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.closeSync(fd);

fileio.copyFile

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

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

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

参数:

参数名

类型

必填

说明

src

string|number

待复制文件的路径或待复制文件的描述符。

dest

string|number

目标文件路径或目标文件描述符。

mode

number

mode提供覆盖文件的选项,当前仅支持0,且默认为0。

0:完全覆盖目标文件,未覆盖部分将被裁切掉。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let srcPath = pathDir + "srcDir/test.txt";
let dstPath = pathDir + "dstDir/test.txt";
fileio.copyFile(srcPath, dstPath).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>): void

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

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

参数:

参数名

类型

必填

说明

src

string|number

待复制文件的路径或待复制文件的描述符。

dest

string|number

目标文件路径或目标文件描述符。

mode

number

mode提供覆盖文件的选项,当前仅支持0,且默认为0。

0:完全覆盖目标文件,未覆盖部分将被裁切掉。

callback

AsyncCallback<void>

异步复制文件之后的回调。

示例:

let srcPath = pathDir + "srcDir/test.txt";
let dstPath = pathDir + "dstDir/test.txt";
fileio.copyFile(srcPath, dstPath, 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 srcPath = pathDir + "srcDir/test.txt";
let dstPath = pathDir + "dstDir/test.txt";
fileio.copyFileSync(srcPath, dstPath);

fileio.mkdir

mkdir(path: string, mode?: number): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

待创建目录的应用沙箱路径。

mode

number

创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。

- 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。

- 0o700:所有者具有读、写及可执行权限。

- 0o400:所有者具有读权限。

- 0o200:所有者具有写权限。

- 0o100:所有者具有可执行权限。

- 0o070:所有用户组具有读、写及可执行权限。

- 0o040:所有用户组具有读权限。

- 0o020:所有用户组具有写权限。

- 0o010:所有用户组具有可执行权限。

- 0o007:其余用户具有读、写及可执行权限。

- 0o004:其余用户具有读权限。

- 0o002:其余用户具有写权限。

- 0o001:其余用户具有可执行权限。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let dirPath = pathDir + '/testDir';
fileio.mkdir(dirPath).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>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待创建目录的应用沙箱路径。

mode

number

创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。

- 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。

- 0o700:所有者具有读、写及可执行权限。

- 0o400:所有者具有读权限。

- 0o200:所有者具有写权限。

- 0o100:所有者具有可执行权限。

- 0o070:所有用户组具有读、写及可执行权限。

- 0o040:所有用户组具有读权限。

- 0o020:所有用户组具有写权限。

- 0o010:所有用户组具有可执行权限。

- 0o007:其余用户具有读、写及可执行权限。

- 0o004:其余用户具有读权限。

- 0o002:其余用户具有写权限。

- 0o001:其余用户具有可执行权限。

callback

AsyncCallback<void>

异步创建目录操作完成之后的回调。

示例:

let dirPath = pathDir + '/testDir';
fileio.mkdir(dirPath, 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:其余用户具有可执行权限。

示例:

let dirPath = path + '/testDir';
fileio.mkdirSync(dirPath);

fileio.open7+

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

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

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

参数:

参数名

类型

必填

说明

path

string

待打开文件的应用沙箱路径。

flags

number

打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开:

- 0o0:只读打开。

- 0o1:只写打开。

- 0o2:读写打开。

同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项:

- 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。

- 0o200:如果追加了0o100选项,且文件已经存在,则出错。

- 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。

- 0o2000:以追加方式打开,后续写将追加到文件末尾。

- 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。

- 0o200000:如果path不指向目录,则出错。

- 0o400000:如果path指向符号链接,则出错。

- 0o4010000:以同步IO的方式打开文件。

mode

number

若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。

- 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。

- 0o700:所有者具有读、写及可执行权限。

- 0o400:所有者具有读权限。

- 0o200:所有者具有写权限。

- 0o100:所有者具有可执行权限。

- 0o070:所有用户组具有读、写及可执行权限。

- 0o040:所有用户组具有读权限。

- 0o020:所有用户组具有写权限。

- 0o010:所有用户组具有可执行权限。

- 0o007:其余用户具有读、写及可执行权限。

- 0o004:其余用户具有读权限。

- 0o002:其余用户具有写权限。

- 0o001:其余用户具有可执行权限。

返回值:

类型

说明

Promise<number>

Promise对象。返回打开文件的文件描述符。

示例:

let filePath = pathDir + "/test.txt";
fileio.open(filePath, 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<number>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待打开文件的应用沙箱路径。

flags

number

打开文件的选项,必须指定如下选项中的一个,默认以只读方式打开:

- 0o0:只读打开。

- 0o1:只写打开。

- 0o2:读写打开。

同时,也可给定如下选项,以按位或的方式追加,默认不给定任何额外选项:

- 0o100:若文件不存在,则创建文件。使用该选项时必须指定第三个参数 mode。

- 0o200:如果追加了0o100选项,且文件已经存在,则出错。

- 0o1000:如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。

- 0o2000:以追加方式打开,后续写将追加到文件末尾。

- 0o4000:如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。

- 0o200000:如果path不指向目录,则出错。

- 0o400000:如果path指向符号链接,则出错。

- 0o4010000:以同步IO的方式打开文件。

mode

number

若创建文件,则指定文件的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o666。

- 0o666:所有者具有读、写权限,所有用户组具有读、写权限,其余用户具有读、写权限。

- 0o700:所有者具有读、写及可执行权限。

- 0o400:所有者具有读权限。

- 0o200:所有者具有写权限。

- 0o100:所有者具有可执行权限。

- 0o070:所有用户组具有读、写及可执行权限。

- 0o040:所有用户组具有读权限。

- 0o020:所有用户组具有写权限。

- 0o010:所有用户组具有可执行权限。

- 0o007:其余用户具有读、写及可执行权限。

- 0o004:其余用户具有读权限。

- 0o002:其余用户具有写权限。

- 0o001:其余用户具有可执行权限。

callback

AsyncCallback<number>

异步打开文件之后的回调。

示例:

let filePath = pathDir + "/test.txt";
fileio.open(filePath, 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 filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o102, 0o640);

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o102, 0o666);
fileio.writeSync(fd, 'hello world');
let fd1 = fileio.openSync(filePath, 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<ReadOut>

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

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

参数:

参数名

类型

必填

说明

fd

number

待读取文件的文件描述符。

buffer

ArrayBuffer

用于保存读取到的文件数据的缓冲区。

options

Object

支持如下选项:

- offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。

- length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。

- position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。

约束:offset+length<=buffer.size。

返回值:

类型

说明

Promise<​​ReadOut​​>

Promise对象。返回读取的结果。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 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<ReadOut>): void

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

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

参数:

参数名

类型

必填

说明

fd

number

待读取文件的文件描述符。

buffer

ArrayBuffer

用于保存读取到的文件数据的缓冲区。

options

Object

支持如下选项:

- offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。

- length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。

- position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。

约束:offset+length<=buffer.size。

callback

AsyncCallback<​​ReadOut​​>

异步读取数据之后的回调。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 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 filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o2);
let buf = new ArrayBuffer(4096);
let num = fileio.readSync(fd, buf);

fileio.rmdir7+

rmdir(path: string): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

待删除目录的应用沙箱路径。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let dirPath = pathDir + '/testDir';
fileio.rmdir(dirPath).then(function() {
    console.info("rmdir succeed");
}).catch(function(err){
    console.info("rmdir failed with error:"+ err);
});

fileio.rmdir7+

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

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

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

参数:

参数名

类型

必填

说明

path

string

待删除目录的应用沙箱路径。

callback

AsyncCallback<void>

异步删除目录之后的回调。

示例:

let dirPath = pathDir + '/testDir';
fileio.rmdir(dirPath, function(err){
    // do something
    console.info("rmdir succeed");
});

fileio.rmdirSync7+

rmdirSync(path: string): void

以同步方法删除目录。

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

参数:

参数名

类型

必填

说明

path

string

待删除目录的应用沙箱路径。

示例:

let dirPath = pathDir + '/testDir';
fileio.rmdirSync(dirPath);

fileio.unlink

unlink(path: string): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

待删除文件的应用沙箱路径。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let filePath = pathDir + "/test.txt";
fileio.unlink(filePath).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>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待删除文件的应用沙箱路径。

callback

AsyncCallback<void>

异步删除文件之后的回调。

示例:

let filePath = pathDir + "/test.txt";
fileio.unlink(filePath, function(err) {
    console.info("remove file succeed");
});

fileio.unlinkSync

unlinkSync(path: string): void

以同步方法删除文件。

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

参数:

参数名

类型

必填

说明

path

string

待删除文件的应用沙箱路径。

示例:

let filePath = pathDir + "/test.txt";
fileio.unlinkSync(filePath);

fileio.write

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

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

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

参数:

参数名

类型

必填

说明

fd

number

待写入文件的文件描述符。

buffer

ArrayBuffer|string

待写入文件的数据,可来自缓冲区或字符串。

options

Object

支持如下选项:

- offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。

- length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。

- position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。

- encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。

约束:offset+length<=buffer.size。

返回值:

类型

说明

Promise<number>

Promise对象。返回实际写入的长度。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 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<number>): void

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

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

参数:

参数名

类型

必填

说明

fd

number

待写入文件的文件描述符。

buffer

ArrayBuffer|string

待写入文件的数据,可来自缓冲区或字符串。

options

Object

支持如下选项:

- offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。

- length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。

- position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。

- encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。

约束:offset+length<=buffer.size。

callback

AsyncCallback<number>

异步将数据写入完成后执行的回调函数。

示例:

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 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 filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o100 | 0o2, 0o666);
let num = fileio.writeSync(fd, "hello, world");

fileio.hash

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

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

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

参数:

参数名

类型

必填

说明

path

string

待计算哈希值文件的应用沙箱路径。

algorithm

string

哈希计算采用的算法。可选 "md5"、"sha1" 或 "sha256"。建议采用安全强度更高的 "sha256"。

返回值:

类型

说明

Promise<string>

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

示例:

let filePath = pathDir + "/test.txt";
fileio.hash(filePath, "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<string>): void

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

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

参数:

参数名

类型

必填

说明

path

string

待计算哈希值文件的应用沙箱路径。

algorithm

string

哈希计算采用的算法。可选 "md5"、"sha1" 或 "sha256"。建议采用安全强度更高的 "sha256"。

callback

AsyncCallback<string>

异步计算文件哈希操作之后的回调函数(其中给定文件哈希值表示为十六进制数字串,所有字母均大写)。

示例:

let filePath = pathDir + "/test.txt";
fileio.hash(filePath, "sha256", function(err, hashStr) {
    if (hashStr) {
        console.info("calculate file hash succeed:"+ hashStr);
    }
});


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-fileio-0000001478181641-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001478181641__导入模块​

已于2023-4-13 19:33:52修改
收藏
回复
举报
回复
    相关推荐