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

joytrian
发布于 2023-4-6 17:05
浏览
0收藏

版本:v3.1 Beta

@ohos.file.fs (文件管理)

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


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


说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块支持对错误码进行处理,错误码及其适配方式请参考​​错误码适配指导​​。

导入模块

import fs from '@ohos.file.fs';

使用说明

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

Stage模型

import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
   onWindowStageCreate(windowStage) {
       let context = this.context;
       let pathDir = context.filesDir;
   }
}

FA模型

import featureAbility from '@ohos.ability.featureAbility';

let context = featureAbility.getContext();
context.getFilesDir().then((data) => {
     let pathDir = data;
})

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

fs.stat

stat(file: string|number): Promise<Stat>

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

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

参数:

参数名

类型

必填

说明

file

string|number

文件应用沙箱路径path或已打开的文件描述符fd。

返回值:

类型

说明

Promise<​​Stat​​>

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

示例:

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

fs.stat

stat(file: string|number, callback: AsyncCallback<Stat>): void

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

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

参数:

参数名

类型

必填

说明

file

string|number

文件应用沙箱路径path或已打开的文件描述符fd。

callback

AsyncCallback<​​Stat​​>

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

示例:

fs.stat(pathDir, function (err, stat) {
  if (err) {
    console.info("get file info failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("get file info succeed, the size of file is " + stat.size);
  }
});

fs.statSync

statSync(file: string|number): Stat

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

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

参数:

参数名

类型

必填

说明

file

string|number

文件应用沙箱路径path或已打开的文件描述符fd。

返回值:

类型

说明

​Stat​

表示文件的具体信息。

示例:

let stat = fs.statSync(pathDir);
console.info("get file info succeed, the size of file is " + stat.size);

fs.access

access(path: string): Promise<boolean>

检查文件是否存在,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

path

string

文件应用沙箱路径。

返回值:

类型

说明

Promise<boolean>

Promise对象。返回boolean。

示例:

let filePath = pathDir + "/test.txt";
fs.access(filePath).then(function (res) {
  if (res) {
    console.info("file exists");
  }
}).catch(function (err) {
  console.info("access failed with error message: " + err.message + ", error code: " + err.code);
});

fs.access

access(path: string, callback: AsyncCallback<boolean>): void

检查文件是否存在,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

path

string

文件应用沙箱路径。

callback

AsyncCallback<boolean>

异步检查文件是否存在的回调。

示例:

let filePath = pathDir + "/test.txt";
fs.access(filePath, function (err, res) {
  if (err) {
    console.info("access failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    if (res) {
      console.info("file exists");
    }
  }
});

fs.accessSync

accessSync(path: string): boolean

以同步方法检查文件是否存在。

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

参数:

参数名

类型

必填

说明

path

string

文件应用沙箱路径。

示例:

let filePath = pathDir + "/test.txt";
try {
    let res = fs.accessSync(filePath);
    if (res) {
      console.info("file exists");
    }
} catch(err) {
    console.info("accessSync failed with error message: " + err.message + ", error code: " + err.code);
}

fs.close

close(file: File|number): Promise<void>

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

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

参数:

参数名

类型

必填

说明

file

​File​​|number

已打开的File对象或已打开的文件描述符fd。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath);
fs.close(file).then(function () {
    console.info("close file succeed");
    fs.closeSync(file);
}).catch(function (err) {
    console.info("close file failed with error message: " + err.message + ", error code: " + err.code);
});

fs.close

close(file: File|number, callback: AsyncCallback<void>): void

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

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

参数:

参数名

类型

必填

说明

file

​File​​|number

已打开的File对象或已打开的文件描述符fd。

callback

AsyncCallback<void>

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

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath);
fs.close(file, function (err) {
  if (err) {
    console.info("close file failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("close file success");
  }
});

fs.closeSync

closeSync(file: File|number): void

以同步方法关闭文件。

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

参数:

参数名

类型

必填

说明

file

​File​​|number

已打开的File对象或已打开的文件描述符fd。

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath);
fs.closeSync(file);

fs.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";
fs.copyFile(srcPath, dstPath).then(function () {
    console.info("copy file succeed");
}).catch(function (err) {
    console.info("copy file failed with error message: " + err.message + ", error code: " + err.code);
});

fs.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";
fs.copyFile(srcPath, dstPath, function (err) {
  if (err) {
    console.info("copy file failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("copy file success");
  }
});

fs.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";
fs.copyFileSync(srcPath, dstPath);

fs.mkdir

mkdir(path: string): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

目录的应用沙箱路径。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let dirPath = pathDir + '/testDir';
fs.mkdir(dirPath).then(function () {
    console.info("mkdir succeed");
}).catch(function (err) {
    console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
});

fs.mkdir

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

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

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

参数:

参数名

类型

必填

说明

path

string

目录的应用沙箱路径。

callback

AsyncCallback<void>

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

示例:

let dirPath = pathDir + '/testDir';
fs.mkdir(dirPath, function (err) {
  if (err) {
    console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("mkdir success");
  }
});

fs.mkdirSync

mkdirSync(path: string): void

以同步方法创建目录。

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

参数:

参数名

类型

必填

说明

path

string

目录的应用沙箱路径。

示例:

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

fs.open

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

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

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径或文件URI。

mode

number

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

- OpenMode.READ_ONLY(0o0):只读打开。

- OpenMode.WRITE_ONLY(0o1):只写打开。

- OpenMode.READ_WRITE(0o2):读写打开。

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

- OpenMode.CREATE(0o100):若文件不存在,则创建文件。

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

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

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

- OpenMode.DIR(0o200000):如果path不指向目录,则出错。

- OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。

- OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。

返回值:

类型

说明

Promise<​​File​​>

Promise对象。返回File对象。

示例:

let filePath = pathDir + "/test.txt";
fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).then(function (file) {
    console.info("file fd: " + file.fd);
}).catch(function (err) {
    console.info("open file failed with error message: " + err.message + ", error code: " + err.code);
});

fs.open

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

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

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径或URI。

mode

number

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

- OpenMode.READ_ONLY(0o0):只读打开。

- OpenMode.WRITE_ONLY(0o1):只写打开。

- OpenMode.READ_WRITE(0o2):读写打开。

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

- OpenMode.CREATE(0o100):若文件不存在,则创建文件。

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

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

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

- OpenMode.DIR(0o200000):如果path不指向目录,则出错。

- OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。

- OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。

示例:

let filePath = pathDir + "/test.txt";
fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE, function (err, file) {
  if (err) {
    console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("file fd: " + file.fd);
  }
});

fs.openSync

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

以同步方法打开文件。支持使用URI打开文件。

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

参数:

参数名

类型

必填

说明

path

string

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

mode

number

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

- OpenMode.READ_ONLY(0o0):只读打开。

- OpenMode.WRITE_ONLY(0o1):只写打开。

- OpenMode.READ_WRITE(0o2):读写打开。

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

- OpenMode.CREATE(0o100):若文件不存在,则创建文件。

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

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

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

- OpenMode.DIR(0o200000):如果path不指向目录,则出错。

- OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。

- OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。

返回值:

类型

说明

​File​

打开的File对象。

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
console.info("file fd: " + file.fd);
fs.closeSync(file);

fs.read

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

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

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

参数:

参数名

类型

必填

说明

fd

number

已打开的文件描述符。

buffer

ArrayBuffer

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

options

Object

支持如下选项:

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

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

返回值:

类型

说明

Promise<number>

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

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
let buf = new ArrayBuffer(4096);
fs.read(file.fd, buf).then(function (readLen) {
    console.info("read file data succeed");
    console.info(String.fromCharCode.apply(null, new Uint8Array(readLen)));
    fs.closeSync(file);
}).catch(function (err) {
    console.info("read file data failed with error message: " + err.message + ", error code: " + err.code);
});

fs.read

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

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

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

参数:

参数名

类型

必填

说明

fd

number

已打开的文件描述符。

buffer

ArrayBuffer

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

options

Object

支持如下选项:

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

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

callback

AsyncCallback<number>

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

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
let buf = new ArrayBuffer(4096);
fs.read(file.fd, buf, function (err, readLen) {
  if (err) {
    console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("read file data succeed");
    console.info(String.fromCharCode.apply(null, new Uint8Array(readLen)));
    fs.closeSync(file);
  }
});

fs.readSync

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

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

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

参数:

参数名

类型

必填

说明

fd

number

已打开的文件描述符。

buffer

ArrayBuffer

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

options

Object

支持如下选项:

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

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

返回值:

类型

说明

number

实际读取的长度。

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
let buf = new ArrayBuffer(4096);
let num = fs.readSync(file.fd, buf);
fs.closeSync(file);

fs.rmdir

rmdir(path: string): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

目录的应用沙箱路径。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

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

fs.rmdir

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

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

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

参数:

参数名

类型

必填

说明

path

string

目录的应用沙箱路径。

callback

AsyncCallback<void>

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

示例:

let dirPath = pathDir + '/testDir';
fs.rmdir(dirPath, function (err) {
  if (err) {
    console.info("rmdir failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("rmdir succeed");
  }
});

fs.rmdirSync

rmdirSync(path: string): void

以同步方法删除目录。

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

参数:

参数名

类型

必填

说明

path

string

目录的应用沙箱路径。

示例:

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

fs.unlink

unlink(path: string): Promise<void>

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

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let filePath = pathDir + "/test.txt";
fs.unlink(filePath).then(function () {
    console.info("remove file succeed");
}).catch(function (err) {
    console.info("remove file failed with error message: " + err.message + ", error code: " + err.codeor);
});

fs.unlink

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

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

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径。

callback

AsyncCallback<void>

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

示例:

let filePath = pathDir + "/test.txt";
fs.unlink(filePath, function (err) {
  if (err) {
    console.info("remove file failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("remove file succeed");
  }
});

fs.unlinkSync

unlinkSync(path: string): void

以同步方法删除文件。

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径。

示例:

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

fs.write

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

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

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

参数:

参数名

类型

必填

说明

fd

number

已打开的文件描述符。

buffer

ArrayBuffer|string

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

options

Object

支持如下选项:

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

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

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

返回值:

类型

说明

Promise<number>

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

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.write(file.fd, "hello, world").then(function (writeLen) {
  console.info("write data to file succeed and size is:" + writeLen);
  fs.closeSync(file);
}).catch(function (err) {
  console.info("write data to file failed with error message: " + err.message + ", error code: " + err.code);
});

fs.write

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

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

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

参数:

参数名

类型

必填

说明

fd

number

已打开的文件描述符。

buffer

ArrayBuffer|string

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

options

Object

支持如下选项:

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

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

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

callback

AsyncCallback<number>

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

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.write(file.fd, "hello, world", function (err, writeLen) {
  if (err) {
    console.info("write failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("write data to file succeed and size is:" + writeLen);
    fs.closeSync(file);
  }
});

fs.writeSync

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

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

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

参数:

参数名

类型

必填

说明

fd

number

已打开的文件描述符。

buffer

ArrayBuffer|string

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

options

Object

支持如下选项:

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

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

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

返回值:

类型

说明

number

实际写入的长度。

示例:

let filePath = pathDir + "/test.txt";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let writeLen = fs.writeSync(file.fd, "hello, world");
console.info("write data to file succeed and size is:" + writeLen);
fs.closeSync(file);

fs.truncate

truncate(file: string|number, len?: number): Promise<void>

截断文件,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

file

string|number

文件的应用沙箱路径或已打开的文件描述符fd。

len

number

文件截断后的长度,以字节为单位。

返回值:

类型

说明

Promise<void>

Promise对象。无返回值。

示例:

let filePath = pathDir + "/test.txt";
let len = 5;
fs.truncate(filePath, len).then(function () {
    console.info("truncate file succeed");
}).catch(function (err) {
    console.info("truncate file failed with error message: " + err.message + ", error code: " + err.code);
});

fs.truncate

truncate(file: string|number, len?: number, callback: AsyncCallback<void>): void

截断文件,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

file

string|number

文件的应用沙箱路径或已打开的文件描述符fd。

len

number

文件截断后的长度,以字节为单位。

callback

AsyncCallback<void>

回调函数,本调用无返回值。

示例:

let filePath = pathDir + "/test.txt";
let len = 5;
fs.truncate(filePath, len, function (err) {
  if (err) {
    console.info("truncate failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("truncate success");
  }
});

fs.truncateSync

truncateSync(file: string|number, len?: number): void

以同步方法截断文件。

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

参数:

参数名

类型

必填

说明

file

string|number

文件的应用沙箱路径或已打开的文件描述符fd。

len

number

文件截断后的长度,以字节为单位。

示例:

let filePath = pathDir + "/test.txt";
let len = 5;
fs.truncateSync(filePath, len);

fs.readText

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

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

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

参数:

参数名

类型

必填

说明

filePath

string

文件的应用沙箱路径。

options

Object

支持如下选项:

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

- length,number类型,表示期望读取数据的长度。可选,默认文件长度。

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

返回值:

类型

说明

Promise<string>

Promise对象。返回读取文件的内容。

示例:

let filePath = pathDir + "/test.txt";
fs.readText(filePath).then(function (str) {
    console.info("readText succeed:" + str);
}).catch(function (err) {
    console.info("readText failed with error message: " + err.message + ", error code: " + err.code);
});

fs.readText

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

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

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

参数:

参数名

类型

必填

说明

filePath

string

文件的应用沙箱路径。

options

Object

支持如下选项:

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

- length,number类型,表示期望读取数据的长度。可选,默认文件长度。

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

callback

AsyncCallback<string>

回调函数,返回读取文件的内容。

示例:

let filePath = pathDir + "/test.txt";
fs.readText(filePath, { offset: 1, encoding: 'UTF-8' }, function (err, str) {
  if (err) {
    console.info("read text failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("readText succeed:" + str);
  }
});

fs.readTextSync

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

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

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

参数:

参数名

类型

必填

说明

filePath

string

文件的应用沙箱路径。

options

Object

支持如下选项:

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

- length,number类型,表示期望读取数据的长度。可选,默认文件长度。

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

返回值:

类型

说明

string

返回读取文件的内容。

示例:

let filePath = pathDir + "/test.txt";
let str = fs.readTextSync(filePath, {offset: 1, length: 3});
console.info("readText succeed:" + str);

fs.lstat

lstat(path: string): Promise<Stat>

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

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径。

返回值:

类型

说明

Promise<​​Stat​​>

promise对象,返回文件对象,表示文件的具体信息,详情见stat。

示例:

let filePath = pathDir + "/test.txt";
fs.lstat(filePath).then(function (stat) {
    console.info("get link status succeed, the size of file is" + stat.size);
}).catch(function (err) {
    console.info("get link status failed with error message: " + err.message + ", error code: " + err.code);
});

fs.lstat

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

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

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

参数:

参数名

类型

必填

说明

path

string

文件的应用沙箱路径。

callback

AsyncCallback<​​Stat​​>

回调函数,返回文件的具体信息。

示例:

let filePath = pathDir + "/test.txt";
fs.lstat(filePath, function (err, stat) {
    if (err) {
      console.info("lstat failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("get link status succeed, the size of file is" + stat.size);
    }
});

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

已于2023-4-6 17:05:23修改
收藏
回复
举报
回复
    相关推荐