文件管理

About 65 min

文件管理

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

导入模块

import fileio from '@ohos.fileio';
1

权限列表

使用说明

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

“文件/目录绝对路径”=“应用目录路径”+“文件/目录名”

通过上述接口获取到应用目录路径dir,文件名为“xxx.txt”,文件所在绝对路径为:

let path = dir + "/xxx.txt";
1

文件描述符fd:

let fd = fileio.openSync(path);
1

fileio.stat

stat(path: string): Promise<Stat>

以异步方法获取文件信息,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待获取文件的绝对路径。
  • 返回值:

    类型 说明
    Promise<Stat> 表示文件的具体信息。
  • 示例:

    let stat = await fileio.stat(path);
    // example code in Stat
    
    1
    2

fileio.stat

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

以异步方法获取文件信息,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待获取文件的绝对路径。
    callback AsyncCallback<Stat> 异步获取文件的信息之后的回调。
  • 示例:

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

fileio.statSync

statSync(path:string): Stat

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

  • 参数:

    参数名 类型 必填 说明
    path string 待获取文件的绝对路径。
  • 返回值:

    类型 说明
    Stat 表示文件的具体信息。
  • 示例:

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

fileio.opendir

opendir(path: string): Promise<Dir>

以异步方法打开文件目录,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件目录的绝对路径。
  • 返回值:

    类型 说明
    Promise<Dir> 返回Dir对象。
  • 示例:

    let dir = fileio.opendir(path);
    // example code in Dir
    
    1
    2

fileio.opendir

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

以异步方法打开文件目录,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件目录的绝对路径。
    callback AsyncCallback<Dir> 异步打开文件目录之后的回调。
  • 示例:

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

fileio.opendirSync

opendirSync(path: string): Dir

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

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件目录的绝对路径。
  • 返回值:

    类型 说明
    Dir 返回Dir对象。
  • 示例:

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

fileio.access

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

以异步方法检查当前进程是否可访问某文件,使用promise形式返回结果。

  • 参数:.

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

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    fileio.access(path)    
        .then(function(err) {
            // 文件存在,do something
        }).catch(function(e) {
            //若不符合条件则进入
    });
    
    1
    2
    3
    4
    5
    6

fileio.access

access(path: String, mode?: number, callback: AsyncCallback<void>): void

以异步方法检查当前进程是否可访问某文件,使用callback形式返回结果。

  • 参数:

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

    fileio.access(path, function (err) {
    });
    
    1
    2

fileio.accessSync

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

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

  • 参数:

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

    try {
        fileio.accessSync(path);
    } catch(e) {
        //不符合条件则进入
    }
    
    1
    2
    3
    4
    5

fileio.close7+

close(fd: number):Promise<void>

以异步方法关闭文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待关闭文件的文件描述符。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    let fd = fileio.openSync(path);
    await fileio.close(fd);
    
    1
    2

fileio.close7+

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

以异步方法关闭文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待关闭文件的文件描述符。
    callback AsyncCallback<void> 异步关闭文件之后的回调。
  • 示例:

    let fd = fileio.openSync(path);
    await fileio.close(fd, function (err) {
    });
    
    1
    2
    3

fileio.closeSync

closeSync(fd: number): void

以同步方法关闭文件。

  • 参数:

    参数名 类型 必填 说明
    fd number 待关闭文件的文件描述符。
  • 示例:

    fileio.closeSync(fd);
    
    1

fileio.close7+

close(): Promise<void>

以异步方法关闭文件流,使用promise形式返回结果。

  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    fileio.close();
    
    1

fileio.close7+

close(callback: AsyncCallback<void>): void

以异步方法关闭文件流,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<void> 异步关闭文件流之后的回调。
  • 示例:

    await fileio.close(function(err){
    });
    
    1
    2

fileio.copyFile

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

以异步方法复制文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    src string | number 待复制文件的路径或待复制文件的描述符。
    dest string | number 目标文件路径或目标文件描述符。
    mode number mode提供覆盖文件的选项,当前仅支持0,且默认为0。
    0:完全覆盖目标文件,未覆盖部分将被裁切掉。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    await fileio.copyFile(src, dest);
    
    1

fileio.copyFile

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

以异步方法复制文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    src string | number 待复制文件的路径或待复制文件的描述符。
    dest string | number 目标文件路径或目标文件描述符。
    mode number mode提供覆盖文件的选项,当前仅支持0,且默认为0。
    0:完全覆盖目标文件,未覆盖部分将被裁切掉。
    callback AsyncCallback<void> 异步复制文件之后的回调。
  • 示例:

    await fileio.copyFile(src, dest, function (err) { 
    });
    
    1
    2

fileio.copyFileSync

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

以同步方法复制文件。

  • 参数:

    参数名 类型 必填 说明
    src string | number 待复制文件的路径或待复制文件的描述符。
    dest string | number 目标文件路径或目标文件描述符。
    mode number mode提供覆盖文件的选项,当前仅支持0,且默认为0。
    0:完全覆盖目标文件,未覆盖部分将被裁切掉。
  • 示例:

    fileio.copyFileSync(src, dest);
    
    1

fileio.mkdir

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

以异步方法创建目录,使用promise形式返回结果。

  • 参数:

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

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    await fileio.mkdir(path)
       .then(function(err) {
        // 目录创建成功,do something
       }).catch(function (e){
       });
    
    1
    2
    3
    4
    5

fileio.mkdir

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

以异步方法创建目录,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待创建目录的绝对路径。
    mode number 创建目录的权限,可给定如下权限,以按位或的方式追加权限,默认给定0o775。
    - 0o775:所有者具有读、写及可执行权限,其余用户具有读及可执行权限。
    - 0o700:所有者具有读、写及可执行权限。
    - 0o400:所有者具有读权限。
    - 0o200:所有者具有写权限。
    - 0o100:所有者具有可执行权限。
    - 0o070:所有用户组具有读、写及可执行权限。
    - 0o040:所有用户组具有读权限。
    - 0o020:所有用户组具有写权限。
    - 0o010:所有用户组具有可执行权限。
    - 0o007:其余用户具有读、写及可执行权限。
    - 0o004:其余用户具有读权限。
    - 0o002:其余用户具有写权限。
    - 0o001:其余用户具有可执行权限。
    callback AsyncCallback<void> 异步创建目录操作完成之后的回调。
  • 示例:

    await fileio.mkdir(path, function(err) {
        if (!err) {
            // do something
        }
    });
    
    1
    2
    3
    4
    5

fileio.mkdirSync

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

以同步方法创建目录。

  • 参数:

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

    fileio.mkdirSync(path);
    
    1

fileio.open7+

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

以异步的方法打开文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    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> 打开文件的文件描述符。
  • 示例:

    let fd = await fileio.open(path, 0o1, 0o0200);
    
    1

fileio.open7+

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

以异步的方法打开文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    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 <void> 异步打开文件之后的回调。
  • 示例:

    await fileio.open(path, 0, function(err, fd) {
    });
    
    1
    2

fileio.openSync

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

以同步方法打开文件。

  • 参数:

    参数名 类型 必填 说明
    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:其余用户具有可执行权限。
  • 返回值:

    类型 说明
    number 打开文件的文件描述符。
  • 示例:

    let fd = fileio.openSync(path);
    
    1

fileio.read

read(fd: number, buffer: ArrayBuffer, options?: Object): Promise<Readout>

以异步方法从文件读取数据,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待读取文件的文件描述符。
    buffer ArrayBuffer 用于保存读取到的文件数据的缓冲区。
    options Object 支持如下选项:
    - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。
  • 返回值:

    类型 说明
    Promise<Readout> 读取的结果。
  • 示例:

    let fd = fileio.openSync(path, 0o2);
    let buf = new ArrayBuffer(4096);
    let res = await fileio.read(fd, buf);
    
    1
    2
    3

fileio.read

read(fd: number, buffer: ArrayBuffer, options?: Object, callback: AsyncCallback<Readout>): void

以异步方法从文件读取数据,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待读取文件的文件描述符。
    buffer ArrayBuffer 用于保存读取到的文件数据的缓冲区。
    options Object 支持如下选项:
    - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。
    callback AsyncCallback<Readout> 异步读取数据之后的回调。
  • 示例:

    let fd = fileio.openSync(path, 0o2);
    let buf = new ArrayBuffer(4096);
    await fileio.read(fd, buf, function (err, readOut) {
        if (!err) {
            console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)))
        }
    });
    
    1
    2
    3
    4
    5
    6
    7

fileio.readSync

readSync(fd: number, buffer: ArrayBuffer, options?: Object): number

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待读取文件的文件描述符。
    buffer ArrayBuffer 用于保存读取到的文件数据的缓冲区。
    options Object 支持如下选项:
    - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。
  • 返回值:

    类型 说明
    number 实际读取的长度。
  • 示例:

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

fileio.rmdir7+

rmdir(path: string): Promise<void>

以异步方法删除目录,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待删除目录的绝对路径。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    fileio.rmdir(path)  
        .then(function(err) {   
            // 删除目录成功,do something 
        }).catch(function(e){ 
    });
    
    1
    2
    3
    4
    5

fileio.rmdir7+

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

以异步方法删除目录,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待删除目录的绝对路径。
    callback AsyncCallback<void> 异步删除目录之后的回调。
  • 示例:

    fileio.rmdir(path, function(err){ 
    });
    
    1
    2

fileio.rmdirSync

rmdirSync(path:string)

以同步方法删除目录。

  • 参数:

    参数名 类型 必填 说明
    path string 待删除目录的绝对路径。
  • 示例:

    fileio.rmdirSync(path);
    
    1

unlink(path:string): Promise<void>

以异步方法删除文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待删除文件的绝对路径。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    await fileio.unlink(path);
    
    1

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

以异步方法删除文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待删除文件的绝对路径。
    callback AsyncCallback<void> 异步删除文件之后的回调。
  • 示例:

    await fileio.unlink(path, function(err) {
        if (!err) {
            // do something
        }
    });
    
    1
    2
    3
    4
    5

fileio.unlinkSync

unlinkSync(path: string): void

以同步方法删除文件。

  • 参数:

    参数名 类型 必填 说明
    path string 待删除文件的绝对路径。
  • 示例:

    fileio.unlinkSync(path);
    
    1

fileio.write

write(fd: number, buffer: ArrayBuffer | string, options?: Object): Promise<number>

以异步方法将数据写入文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待写入文件的文件描述符。
    buffer ArrayBuffer | string 待写入文件的数据,可来自缓冲区或字符串。
    options Object 支持如下选项:
    - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。
    - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。
    - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。
  • 返回值:

    类型 说明
    Promise<number> 实际写入的长度。
  • 示例:

    let fd = fileio.openSync(fpath, 0o100 | 0o2, 0o666);
    let num = await fileio.write(fd, "hello, world");
    
    1
    2

fileio.write

write(fd:number, buffer:ArrayBuffer | string,options?:Object, callback:AsyncCallback<number>): void

以异步方法将数据写入文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待写入文件的文件描述符。
    buffer ArrayBuffer | string 待写入文件的数据,可来自缓冲区或字符串。
    options Object 支持如下选项:
    - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。
    - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。
    - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。
    callback AsyncCallback<number> 异步将数据写入完成后执行的回调函数。
  • 示例:

    let fd = fileio.openSync(path, 0o100 | 0o2, 0o666);
    fileio.write(fd, "hello, world", function (err, bytesWritten) {
        if (!err) {
           console.log(bytesWritten)
        }
    });
    
    1
    2
    3
    4
    5
    6

fileio.writeSync

writeSync(fd: number, buffer: ArrayBuffer | string, options?:Object): number

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待写入文件的文件描述符。
    buffer ArrayBuffer | string 待写入文件的数据,可来自缓冲区或字符串。
    options Object 支持如下选项:
    - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。
    - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。
    - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。
  • 返回值:

    类型 说明
    number 实际写入的长度。
  • 示例:

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

fileio.hash

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

以异步方法计算文件的哈希值,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待计算哈希值文件的绝对路径。
    algorithm string 哈希计算采用的算法。可选 "md5"、"sha1" 或 "sha256"。建议采用安全强度更高的 "sha256"。
  • 返回值:

    类型 说明
    Promise<string> 文件的哈希值。表示为十六进制数字串,所有字母均大写。
  • 示例:

    let hashStr = await fileio.hash(path, "sha256");
    
    1

fileio.hash

hash(psth:string, algorithm:string, callback:AsyncCallback<string>): void

以异步方法计算文件的哈希值,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待计算哈希值文件的绝对路径。
    algorithm string 哈希计算采用的算法。可选 "md5"、"sha1" 或 "sha256"。建议采用安全强度更高的 "sha256"。
    callback AsyncCallback<string> 异步计算文件哈希操之后的回调函数(其中给定文件哈希值表示为十六进制数字串,所有字母均大写)。
  • 示例:

    fileio.hash(fpath, "sha256", function(err, hashStr) {
        if (!err) {
            console.log(hashStr)
        }
    });
    
    1
    2
    3
    4
    5

fileio.chmod7+

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

以异步方法基于文件路径改变文件权限,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待改变文件权限的绝对路径。
    mode number 改变文件权限,可给定如下权限,以按位或的方式追加权限。
    - 0o700:所有者具有读、写及可执行权限。
    - 0o400:所有者具有读权限。
    - 0o200:所有者具有写权限。
    - 0o100:所有者具有可执行权限。
    - 0o070:所有用户组具有读、写及可执行权限。
    - 0o040:所有用户组具有读权限。
    - 0o020:所有用户组具有写权限。
    - 0o010:所有用户组具有可执行权限。
    - 0o007:其余用户具有读、写及可执行权限。
    - 0o004:其余用户具有读权限。
    - 0o002:其余用户具有写权限。
    - 0o001:其余用户具有可执行权限。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    fileio.chmod(path, mode)  
        .then(function(err) {    
           // 改变文件权限成功,do something
        }).catch(function(e){
    });
    
    1
    2
    3
    4
    5

fileio.chmod7+

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

以异步方法基于文件路径改变文件权限,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待改变文件权限的绝对路径。
    mode number 改变文件权限,可给定如下权限,以按位或的方式追加权限。
    - 0o700:所有者具有读、写及可执行权限。
    - 0o400:所有者具有读权限。
    - 0o200:所有者具有写权限。
    - 0o100:所有者具有可执行权限。
    - 0o070:所有用户组具有读、写及可执行权限。
    - 0o040:所有用户组具有读权限。
    - 0o020:所有用户组具有写权限。
    - 0o010:所有用户组具有可执行权限。
    - 0o007:其余用户具有读、写及可执行权限。
    - 0o004:其余用户具有读权限。
    - 0o002:其余用户具有写权限。
    - 0o001:其余用户具有可执行权限。
    callback AsyncCallback<void> 异步改变文件权限之后的回调。
  • 示例:

    fileio.chmod(path, mode, function (err) {     
    });
    
    1
    2

fileio.chmodSync7+

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

以同步方法基于文件路径改变文件权限。

  • 参数:

    参数名 类型 必填 说明
    path string 待改变文件权限的绝对路径。
    mode number 改变文件权限,可给定如下权限,以按位或的方式追加权限。
    - 0o700:所有者具有读、写及可执行权限。
    - 0o400:所有者具有读权限。
    - 0o200:所有者具有写权限。
    - 0o100:所有者具有可执行权限。
    - 0o070:所有用户组具有读、写及可执行权限。
    - 0o040:所有用户组具有读权限。
    - 0o020:所有用户组具有写权限。
    - 0o010:所有用户组具有可执行权限。
    - 0o007:其余用户具有读、写及可执行权限。
    - 0o004:其余用户具有读权限。
    - 0o002:其余用户具有写权限。
    - 0o001:其余用户具有可执行权限。
  • 示例:

    fileio.chmodSync(fpath, mode);
    
    1

fileio.fstat7+

fstat(fd: number): Promise<Stat>

以异步方法基于文件描述符获取文件状态信息,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待获取文件的文件描述符。
  • 返回值:

    类型 说明
    Promise<Stat> 表示文件的具体信息。
  • 示例:

    let stat = await fileio.fstat(fd);
    
    1

fileio.fstat7+

fstat(fd: number, callback: AsyncCallback<Stat>): void

以异步方法基于文件描述符获取文件状态信息,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待获取文件的文件描述符。
    callback AsyncCallback<Stat> 异步获取文件状态信息之后的回调。
  • 示例:

    let fd = fileio.openSync(path);
    fileio.fstat(fd, function (err) {    
    });
    
    1
    2
    3

fileio.fstatSync7+

fstatSync(fd: number): Stat

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待获取文件的文件描述符。
  • 返回值:

    类型 说明
    Stat 表示文件的具体信息。
  • 示例:

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

fileio.ftruncate7+

ftruncate(fd: number, len: number): Promise<void>

以异步方法基于文件描述符截断文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待截断文件的文件描述符。
    len number 文件截断后的长度,以字节为单位。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    let fd = fileio.openSync(path);
    fileio.ftruncate(fd, 5)
        .then(function(err) {    
           // 截断文件成功, do something
        }).catch(function(e){
    });
    
    1
    2
    3
    4
    5
    6

fileio.ftruncate7+

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

以异步方法基于文件描述符截断文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待截断文件的文件描述符。
    len number 文件截断后的长度,以字节为单位。
    callback AsyncCallback<void> 异步截断文件的信息之后的回调。
  • 示例:

    fileio.ftruncate(fd, len, function(err){ 
    });
    
    1
    2

fileio.ftruncateSync7+

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

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待截断文件的文件描述符。
    len number 文件截断后的长度,以字节为单位。
  • 示例:

     fileio.ftruncate(fd, len);
    
    1

fileio.truncate7+

truncate(path: string, len: number): Promise<void>

以异步方法基于文件路径截断文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待截断文件的绝对路径。
    len number 文件截断后的长度,以字节为单位。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    fileio.truncate(path, len)  
        .then(function(err) {    
            // 截断文件成功,do something 
        }).catch(function(e){ 
    });
    
    1
    2
    3
    4
    5

fileio.truncate7+

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

以异步方法基于文件路径截断文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待截断文件的绝对路径。
    len number 文件截断后的长度,以字节为单位。
    callback AsyncCallback<void> 异步截断文件的信息之后的回调。
  • 示例:

    fileio.truncate(path, len, function(err){ 
    });
    
    1
    2

fileio.truncateSync7+

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

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

  • 参数:

    参数名 类型 必填 说明
    path string 待截断文件的绝对路径。
    len number 文件截断后的长度,以字节为单位。
  • 示例:

    fileio.ftruncate(path, len);
    
    1

fileio.readText7+

readText(filePath: string, options?:Object): Promise<string>

以异步方法基于文本方式读取文件(即直接读取文件的文本内容),使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    filePath string 待读取文件的绝对路径。
    options Object 支持如下选项:
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - encoding,string类型,当数据是 string 类型时有效,表示数据的编码方式,默认 'utf-8',仅支持 'utf-8'。
  • 返回值:

    类型 说明
    Promise<string> 返回读取文件的内容。
  • 示例:

    fileio.readText(path)
        .then(function(str) {
           // 读取文件成功,do something
        }).catch(function(e){
    });
    
    1
    2
    3
    4
    5

fileio.readText7+

readText(filePath: string, options?:Object, callback:AsyncCallback<string>): void

以异步方法基于文本方式读取文件(即直接读取文件的文本内容),使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    filePath string 待读取文件的绝对路径。
    options Object 支持如下选项:
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - encoding,string类型,当数据是 string 类型时有效,表示数据的编码方式,默认 'utf-8',仅支持 'utf-8'。
    callback AsyncCallback<string> 异步通过文本方式读取文件之后的回调。
  • 示例:

    fileio.readText(path, function(err, str){
    });
    
    1
    2

fileio.readTextSync7+

readTextSync(filePath: string, options?:Object): string

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

  • 参数:

    参数名 类型 必填 说明
    filePath string 待读取文件的绝对路径。
    options Object 支持如下选项:
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - encoding,string类型,当数据是 string 类型时有效,表示数据的编码方式,默认 'utf-8',仅支持 'utf-8'。
  • 返回值:

    类型 说明
    Promise<string> 返回读取文件的内容。
  • 示例:

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

fileio.lstat7+

lstat(path: string): Promise<Stat>

以异步方法获取链接状态信息,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 目标文件的绝对路径,指向链接状态。
  • 返回值:

    类型 说明
    Promise<Stat> 表示文件的具体信息。
  • 示例:

    let stat = await fileio.lstat(path);
    
    1

fileio.lstat7+

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

以异步方法获取链接状态信息,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 目标文件的绝对路径,指向链接状态。
    callback AsyncCallback<Stat> 异步获取链接状态信息之后的回调。
  • 示例:

    fileio.lstat(path, function (err, stat) {    
    ));
    
    1
    2

fileio.lstatSync7+

lstatSync(path:string): Stat

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

  • 参数:

    参数名 类型 必填 说明
    path string 目标文件的绝对路径,指向链接状态。
  • 返回值:

    类型 说明
    Stat 表示文件的具体信息。
  • 示例:

    let stat = fileio.lstatSync(path);
    
    1

fileio.read7+

read(buffer: ArrayBuffer, options?: Object): Promise<Readout>

以异步方法从文件读取数据,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    buffer ArrayBuffer 用于保存读取到的文件数据的缓冲区。
    options Object 支持如下选项:
    - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
  • 返回值:

    类型 说明
    Promise<Readout> 读取的结果。
  • 示例:

    let readout = await fileio.read(new ArrayBuffer(4096));
    
    1

fileio.read7+

read(buffer: ArrayBuffer, options?: Object, callback: AsyncCallback<Readout>): void

异步方法从文件读取数据,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    buffer ArrayBuffer 用于保存读取到的文件数据的缓冲区。
    options Object 支持如下选项:
    - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    callback AsyncCallback<Readout> 异步从文件读取数据之后的回调。
  • 示例

    let buf = new ArrayBuffer(4096);
    fileio.read(buf, function (err, readOut) {
        if (!err) {
            console.log(String.fromCharCode.apply(null, new Uint8Array(readOut.buffer)))
        }
    });
    
    1
    2
    3
    4
    5
    6

fileio.rename7+

rename(oldPath: string, newPath: string): Promise<void>

以异步方法重命名文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    oldPath string 目标文件的当前绝对路径。
    Newpath String 目标文件的新绝对路径。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    fileio.rename(oldPath, Newpath)  
          .then(function(err) {    
            // 重命名文件成功,do something 
          }).catch(function(e){ 
    
    });
    
    1
    2
    3
    4
    5
    6

fileio.rename7+

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

以异步方法重命名文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    oldpath string 目标文件的当前绝对路径。
    Newpath String 目标文件的新绝对路径。
    Callback AsyncCallback<void> 异步重命名文件之后的回调。
  • 示例:

    fileio.rename(oldpath, Newpath, function(err){
    });
    
    1
    2

fileio.renameSync7+

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

以同步方法重命名文件。

  • 参数:

    参数名 类型 必填 说明
    oldPath string 目标文件的当前绝对路径。
    Newpath String 目标文件的新绝对路径。
  • 示例:

    fileio.renameSync(oldpath, newpath);
    
    1

fileio.fsync7+

fsync(fd: number): Promise<void>

以异步方法同步文件数据,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待同步文件的文件描述符。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    await fileio.fsync(fd);
    
    1

fileio.fsync7+

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

以异步方法同步文件数据,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待同步文件的文件描述符。
    Callback AsyncCallback<void> 异步将文件数据同步之后的回调。
  • 示例:

    fileio.fsync(fd, function(err){
    });
    
    1
    2

fileio.fsyncSync7+

fsyncSync(fd: number): void

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待同步文件的文件描述符。
  • 示例:

    fileio.fyncsSync(fd);
    
    1

fileio.fdatasync7+

fdatasync(fd: number): Promise<void>

以异步方法实现文件内容数据同步,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待同步文件的文件描述符。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果,本调用将返回空值。
  • 示例:

    fileio.fdatasync(fd)
         .then(function(err) {
            // 数据同步成功,do something
         }).catch(function(e){
    });
    
    1
    2
    3
    4
    5

fileio.fdatasync7+

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

以异步方法实现文件内容数据同步,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待同步文件的文件描述符。
    callback AsyncCallback <void> 异步将文件内容数据同步之后的回调。
  • 示例:

    fileio.fdatasync (fd, function (err) {
    });
    
    1
    2

fileio.fdatasyncSync7+

fdatasyncSync(fd: number): void

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待同步文件的文件描述符。
  • 示例:

    let stat = fileio.fdatasyncSync(fd);
    
    1

fileio.symlink7+

symlink(target: string, srcPath: string): Promise<void>

以异步方法基于文件路径创建符号链接,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    target string 目标文件的绝对路径。
    srcPath string 符号链接文件的绝对路径。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果,本调用将返回空值。
  • 示例:

    fileio.symlink(target, srcPath)
         .then(function(err) {
             // 创建符号链接成功,do something
         }).catch(function(e){
    
    });
    
    1
    2
    3
    4
    5
    6

fileio.symlink7+

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

以异步方法基于文件路径创建符号链接,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    target string 目标文件的绝对路径。
    srcPath string 符号链接文件的绝对路径。
    callback AsyncCallback<void> 异步创建符号链接信息之后的回调。
  • 示例:

    fileio.symlink(target, srcPath, function (err) {     
    });
    
    1
    2

fileio.symlinkSync7+

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

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

  • 参数:

    参数名 类型 必填 说明
    target string 目标文件的绝对路径。
    srcPath string 符号链接文件的绝对路径。
  • 示例:

    fileio.symlinkSync(target, srcPath);
    
    1

fileio.chown7+

chown(path: string, uid: number, gid: number): Promise<void>

以异步的方法基于文件路径改变文件所有者,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待改变文件的绝对路径。
    uid number 新的UID(UserID)。
    gid number 新的GID(GroupID)。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果,本调用将返回空值。
  • 示例:

    let stat = fileio.statSync(path);
    await fileio.chown(path, stat.uid, stat.gid));
    
    1
    2

fileio.chown7+

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

以异步的方法基于文件路径改变文件所有者,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待改变文件的绝对路径。
    uid number 新的UID。
    gid number 新的GID。
    callback AsyncCallback<void> 异步改变文件所有者之后的回调。
  • 示例:

    let stat = fileio.statSync(fpath)
    fileio.chown(path, stat.uid, stat.gid, function (err){
    });
    
    1
    2
    3

fileio.chownSync7+

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

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

  • 参数:

    参数名 类型 必填 说明
    path string 待改变文件的绝对路径。
    uid number 新的UID。
    gid number 新的GID。
  • 示例:

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

fileio.mkdtemp7+

mkdtemp(prefix: string): Promise<string>

以异步的方法创建临时目录,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    prefix string 用随机产生的字符串替换以“XXXXXX”结尾目录路径。
  • 返回值:

    参数名 说明
    Promise<string> 生成的唯一目录路径。
  • 示例:

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

fileio.mkdtemp7+

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

以异步的方法创建临时目录,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    prefix string 用随机产生的字符串替换以“XXXXXX”结尾目录路径。
    callback AsyncCallback<string> 异步创建临时目录之后的回调。
  • 示例:

    fileio.mkdtemp(path + "XXXX", function (err, res) {
    });
    
    1
    2

fileio.mkdtempSync7+

mkdtempSync(prefix: string): string

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

  • 参数:

    参数名 类型 必填 说明
    prefix string 用随机产生的字符串替换以“XXXXXX”结尾目录路径。
  • 返回值:

    参数名 说明
    string 产生的唯一目录路径。
  • 示例:

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

fileio.fchmod7+

fchmod(fd: number, mode: number): Promise<void>

以异步方法基于文件描述符改变文件权限,使用promise形式返回结果。

  • 参数:

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

    参数名 说明
    Promise<void> Promise实例,用于异步获取结果,本调用将返回空值。
  • 示例:

    fileio.fchmod(fd, mode)
             .then(function(err) {
                // 改变文件权限成功,do something
             }).catch(function(e){
    
    });
    
    1
    2
    3
    4
    5
    6

fileio.fchmod7+

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

以异步方法基于文件描述符改变文件权限,使用callback形式返回结果。

  • 参数:

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

    fileio.fchmod(fd, mode, function (err) {
    });
    
    1
    2

fileio.fchmodSync7+

fchmodSync(existingPath: string, newPath: string): void

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

  • 参数:

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

     fileio.fchmodSync(fd, mode);
    
    1

fileio.createStream7+

createStream(path: string, mode: string): Promise<Stream>

以异步方法基于文件路径打开文件流,使用promise形式返回结果。

  • 参数:

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

    类型 说明
    Promise<Stream> 返回文件流的结果。
  • 示例:

    let ss = filrio.createStream(path, "r+");
    
    1

fileio.createStream7+

createStream(path: string, mode: string, callback: AsyncCallback<Stream>): void

以异步方法基于文件路径打开文件流,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件的绝对路径。
    mode string - r:打开只读文件,该文件必须存在。
    - r+:打开可读写的文件,该文件必须存在。
    - w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。
    - w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。
    - a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
    - a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
    callback AsyncCallback<Stream> 异步打开文件流之后的回调。
  • 示例:

    fileio.createStream(path, mode, function(err, stream){ 
    });
    
    1
    2

fileio.createStreamSync7+

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

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

  • 参数:

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

    参数名 说明
    Stream 返回文件流的结果。
  • 示例:

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

fileio.fdopenStream7+

fdopenStream(fd: number, mode: string): Promise<Stream>

以异步方法基于文件描述符打开文件流,使用promise形式返回结果。

  • 参数:

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

    参数名 说明
    Promise<Stream> 返回文件流的结果。
  • 示例:

    let fp = await fileio.fdopenStream(fd, mode);
    
    1

fileio.fdopenStream7+

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

以异步方法基于文件描述符打开文件流,使用callback形式返回结果。

  • 参数:

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

    fileio.fdopenStream(fd, mode, function (err, fp) { 
    });
    
    1
    2

fileio.fdopenStreamSync7+

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

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

  • 参数:

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

    参数名 说明
    Stream 返回文件流的结果。
  • 示例:

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

fileio.fchown7+

fchown(fd: number, uid: number, gid: number): Promise<void>

以异步方法基于文件描述符改变文件所有者,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待改变文件的文件描述符。
    uid number 文件所有者的UID。
    gid number 文件所有组的GID。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    let stat = fileio.statSync(path);
    fileio.fchown(fd, stat.uid, stat.gid)
         .then(function(err) {
            // 改变文件所有者成功,do something
         }).catch(function(e){
    
    });
    
    1
    2
    3
    4
    5
    6
    7

fileio.fchown7+

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

以异步方法基于文件描述符改变文件所有者,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    fd number 待改变文件的文件描述符。
    uid number 文件所有者的UID。
    gid number 文件所有组的GID。
    callback AsyncCallback<void> 异步改变文件所有者之后的回调。
  • 示例:

    let stat = fileio.statSync(fpath);
    fileio.fchown(fd, stat.uid, stat.gid, function (err){
    });
    
    1
    2
    3

fileio.fchownSync7+

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

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

  • 参数:

    参数名 类型 必填 说明
    fd number 待改变文件的文件描述符。
    uid number 文件所有者的UID。
    gid number 文件所有组的GID。
  • 示例:

    let stat = fileio.statSync(fpath);
    fileio.fchownSync(fd, stat.uid, stat.gid);
    
    1
    2

fileio.lchown7+

lchown(path: string, uid: number, gid: number): Promise<void>

以异步方法基于文件路径改变文件所有者,更改符号链接本身的所有者,而不是符号链接所指向的实际文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件的绝对路径。
    uid number 新的UID。
    gid number 新的GID。
  • 返回值:

    类型 说明
    Promise<void> Promise实例,用于异步获取结果。本调用将返回空值。
  • 示例:

    let stat = fileio.statSync(path);
    fileio.lchown(path, stat.uid, stat.gid)
          .then(function(err) {
             // 改变文件所有者,do something
          }).catch(function(e){
    
     });
    
    1
    2
    3
    4
    5
    6
    7

fileio.lchown7+

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

以异步方法基于文件路径改变文件所有者,更改符号链接本身的所有者,而不是更改符号链接所指向的实际文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件的绝对路径。
    uid number 新的UID。
    gid number 新的GID。
    callback AsyncCallback<void> 异步改变文件所有者之后的回调。
  • 示例:

    let stat = fileio.statSync(path);
    fileio.lchown(path, stat.uid, stat.gid, function (err){
    });
    
    1
    2
    3

fileio.lchownSync7+

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

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

  • 参数:

    参数名 类型 必填 说明
    path string 待打开文件的绝对路径。
    uid number 新的UID。
    gid number 新的GID。
  • 示例:

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

fileio.createWatcher7+

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

以异步方法监控文件或者目录的变化,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    filename string 待监视文件的绝对路径。
    events Number - 1: 监控文件或者目录是否发生重命名。
    - 2:监控文件或者目录内容的是否修改。
    - 3:两者都有。
    callback AsyncCallback<number > 每监控发生变化一次,调用一次此函数。
  • 返回值:

    参数名 说明
    Watcher 文件变化监听的实例。
  • 示例:

    let ob = await fileio.createWatcher(filename, events, function(event){
    });
    
    1
    2

Readout

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

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

Stat

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

属性

名称 参数类型 可读 可写 说明
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

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

  • 返回值:

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

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

isCharacterDevice

isCharacterDevice(): boolean

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

  • 返回值:

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

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

isDirectory

isDirectory(): boolean

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

  • 返回值:

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

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

isFIFO

isFIFO(): boolean

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

  • 返回值:

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

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

isFile

isFile(): boolean

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

  • 返回值:

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

    let isFile = fileio.statSync(fpath).isFile();
    
    1

isSocket

isSocket(): boolean

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

  • 返回值:

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

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

isSymbolicLink(): boolean

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

  • 返回值:

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

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

Watcher7+

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

stop7+

stop(): void

以异步方法关闭watcher监听,使用promise形式返回结果。

  • 示例:
    fileio.stop();
    
    1

stop7+

stop(callback: AsyncCallback): void

以异步方法关闭watcher监听,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<void> 以异步方法关闭watcher监听之后的回调。
  • 示例:

    fileio.stop(function(err){
    });
    
    1
    2

Stream7+

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

close7+

close(): Promise<void>

异步关闭文件流,使用promise形式返回结果。

  • 返回值:

    类型 说明
    Promise<void> 表示异步关闭文件流的结果。
  • 示例:

    let ss= fileio.createStreamSync(path);
    await ss.close();
    
    1
    2

close7+

close(callback: AsyncCallback<void>): void

异步关闭文件流,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<void> 异步关闭文件流之后的回调。
  • 示例:

    let ss= fileio.createStreamSync(path);
    ss.close(function (err) {
    });
    
    1
    2
    3

closeSync7+

closeSync(): void

同步关闭文件流。

  • 示例:
    let ss= fileio.createStreamSync(path);
    ss.closeSync();
    
    1
    2

flush7+

flush(): Promise<void>

异步刷新文件流,使用promise形式返回结果。

  • 返回值:

    类型 说明
    Promise<void> 表示异步刷新文件流的结果。
  • 示例:

    let ss= fileio.createStreamSync(path);
    await ss.flush();
    
    1
    2

flush7+

flush(callback: AsyncCallback<void>): void

异步刷新文件流,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<void> 异步刷新文件流后的回调函数。
  • 示例:

    let ss= fileio.createStreamSync(path);
    ss.flush(function (err) {
        expect(fileio.unlinkSync(fpath)).assertNull();
    });
    
    1
    2
    3
    4

flushSync7+

flushSync(): void

同步刷新文件流。

  • 示例:
    let ss= fileio.createStreamSync(path);
    ss.flushSync();
    
    1
    2

write7+

write(buffer: ArrayBuffer | string, options?: Object): Promise<number>

以异步方法将数据写入流文件,使用promise形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    buffer ArrayBuffer | string 待写入文件的数据,可来自缓冲区或字符串。
    options Object 支持如下选项:
    - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。
    - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。
    - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。
  • 返回值:

    类型 说明
    Promise<number> 实际写入的长度。
  • 示例:

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

write7+

write(buffer:ArrayBuffer | string,options?:Object, callback:AsyncCallback<number>): void

以异步方法将数据写入流文件,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    buffer ArrayBuffer | string 待写入文件的数据,可来自缓冲区或字符串。
    options Object 支持如下选项:
    - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。
    - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。
    - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。
    callback AsyncCallback<number> 异步写入完成后执行的回调函数。
  • 示例:

    let ss= fileio.createStreamSync(fpath, "r+");
    ss.write("hello, world", {offset: 1, length: 5, position: 5, encoding :'utf-8'}, function (err, bytesWritten) {
        if (!err) {
           console.log(bytesWritten)
        }
    });
    
    1
    2
    3
    4
    5
    6

writeSync7+

writeSync(buffer: ArrayBuffer | string, options?:Object): number

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

  • 参数:

    参数名 类型 必填 说明
    buffer ArrayBuffer | string 待写入文件的数据,可来自缓冲区或字符串。
    options Object 支持如下选项:
    - offset,number类型,表示期望写入数据的位置相对于数据首地址的偏移。可选,默认为0。
    - length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。
    - encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认 'utf-8'。仅支持 'utf-8'。
  • 返回值:

    类型 说明
    number 实际写入的长度。
  • 示例:

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

read7+

read(buffer: ArrayBuffer, options?: Object): Promise<Readout>

以异步方法从流文件读取数据,使用promise形式返回结果。

  • 参数:

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

    类型 说明
    Promise<Readout> 读取的结果。
  • 示例:

    let ss = fileio.createStreamSync(fpath, "r+");
    let readOut = await ss.read(new ArrayBuffer(4096), {offset: 1, length: 5, position: 5});
    
    1
    2

read7+

read(buffer: ArrayBuffer, options?: Object, callback: AsyncCallback<Readout>): void

以异步方法从流文件读取数据,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    buffer ArrayBuffer 用于读取文件的缓冲区。
    options Object 支持如下选项:
    - offset,number类型,表示将数据读取到缓冲区的位置,即相对于缓冲区首地址的偏移。可选,默认为0。
    - length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度减去偏移长度。
    - position,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。
    callback AsyncCallback<Readout> 异步从流文件读取数据之后的回调。
  • 示例:

    let ss = fileio.createStreamSync(fpath, "r+");
    ss.read(new ArrayBuffer(4096),{offset: 1, length: 5, position: 5},function (err, readOut) {
        if (!err) {
           console.log(readOut)
        }
    });
    
    1
    2
    3
    4
    5
    6

readSync7+

readSync(buffer: ArrayBuffer, options?: Object): number

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

  • 参数:

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

    类型 说明
    number 实际读取的长度。
  • 示例:

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

Dir

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

read

read(): Promise<Dirent>

异步读取下一个目录项,使用promise形式返回结果。

  • 返回值:

    类型 说明
    Promise<Dirent> 表示异步读取目录项的结果。
  • 示例:

    let dir = fileio.opendirSync(dpath);
    let dirent = await dir.read();
    
    1
    2

read

read(callback: AsyncCallback<Dirent>): void

异步读取下一个目录项,使用callback形式返回结果。

  • 参数:

    参数名 类型 必填 说明
    callback AsyncCallback<Dirent> 异步读取下一个目录项之后的回调。
  • 示例:

    let dir = fileio.opendirSync(dpath);
    dir.read(function (err, dirent) {
        if (!err) {
            console.log(dirent.name)
        }
    });
    
    1
    2
    3
    4
    5
    6

readSync

readSync(): Dirent

同步读取下一个目录项。

  • 返回值:

    类型 说明
    Dirent 表示一个目录项。
  • 示例:

    let dir = fileio.opendirSync(dpath);
    let dirent = dir.readSync();
    
    1
    2

closeSync

closeSync(): void

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

  • 示例:
    let dir = fileio.opendirSync(dpath);
    dir.closeSync();
    
    1
    2

Dirent

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

属性

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

isBlockDevice

isBlockDevice(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isBLockDevice = dir.readSync().isBlockDevice();
    
    1
    2

isCharacterDevice

isCharacterDevice(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isCharacterDevice = dir.readSync().isCharacterDevice(); 
    
    1
    2

isDirectory

isDirectory(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isDirectory = dir.readSync().isDirectory(); 
    
    1
    2

isFIFO

isFIFO(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isFIFO = dir.readSync().isFIFO(); 
    
    1
    2

isFile

isFile(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isFile = dir.readSync().isFile(); 
    
    1
    2

isSocket

isSocket(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isSocket = dir.readSync().isSocket(); 
    
    1
    2

isSymbolicLink(): boolean

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

  • 返回值:

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

    let dir = fileio.opendirSync(dpath);
    let isSymbolicLink = dir.readSync().isSymbolicLink();
    
    1
    2