harmony 鸿蒙@ohos.file.fs (File Management)

  • 2023-02-17
  • 浏览 (1343)

@ohos.file.fs (File Management)

The fs module provides APIs for file operations, including basic file management, directory management, file information statistics, and data read and write using a stream.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

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

Guidelines

Before using the APIs provided by this module to perform operations on a file or directory, obtain the application sandbox path of the file or directory as follows:

Stage Model

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

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

FA Model

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

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

For details about how to obtain the FA model context, see Context.

fs.stat

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

Obtains detailed file information. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|number Yes Application sandbox path or file descriptor (FD) of the file.

Return value

Type Description
Promise<Stat> Promise used to return the file information obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.stat(filePath).then((stat: fs.Stat) => {
    console.info("get file info succeed, the size of file is " + stat.size);
  }).catch((err: BusinessError) => {
    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

Obtains detailed file information. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|number Yes Application sandbox path or FD of the file.
callback AsyncCallback<Stat> Yes Callback invoked to return the file information obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  fs.stat(pathDir, (err: BusinessError, stat: fs.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

Obtains detailed file information synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|number Yes Application sandbox path or file descriptor (FD) of the file.

Return value

Type Description
Stat File information obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  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>

Checks whether a file exists. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.

Return value

Type Description
Promise<boolean> Promise used to return the result. The value true means the file exists; the value false means the opposite.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.access(filePath).then((res: boolean) => {
    if (res) {
      console.info("file exists");
    }
  }).catch((err: BusinessError) => {
    console.info("access failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.access

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

Checks whether a file exists. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.
callback AsyncCallback<boolean> Yes Callback invoked to return the result. The value true means the file exists; the value false means the opposite.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.access(filePath, (err: BusinessError, res: boolean) => {
    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

Checks whether a file exists. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.

Return value

Type Description
boolean Returns true if the file exists; returns false otherwise.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.close

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

Closes a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file number|File Yes File object or FD of the file to close.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.close(file).then(() => {
    console.info("File closed");
  }).catch((err: BusinessError) => {
    console.info("close file failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.close

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

Closes a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file number|File Yes File object or FD of the file to close.
callback AsyncCallback<void> Yes Callback invoked immediately after the file is closed.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.close(file, (err: BusinessError) => {
    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: number|File): void

Closes a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file number|File Yes File object or FD of the file to close.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  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>

Copies a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string|number Yes Path or FD of the file to copy.
dest string|number Yes Destination path of the file or FD of the file created.
mode number No Whether to overwrite the file with the same name in the destination directory. The default value is 0, which is the only value supported.
0: overwrite the file with the same name.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcPath = pathDir + "/srcDir/test.txt";
  let dstPath = pathDir + "/dstDir/test.txt";
  fs.copyFile(srcPath, dstPath).then(() => {
    console.info("copy file succeed");
  }).catch((err: BusinessError) => {
    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

Copies a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string|number Yes Path or FD of the file to copy.
dest string|number Yes Destination path of the file or FD of the file created.
mode number No Whether to overwrite the file with the same name in the destination directory. The default value is 0, which is the only value supported.
0: overwrite the file with the same name and truncate the part that is not overwritten.
callback AsyncCallback<void> Yes Callback invoked immediately after the file is copied.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcPath = pathDir + "/srcDir/test.txt";
  let dstPath = pathDir + "/dstDir/test.txt";
  fs.copyFile(srcPath, dstPath, (err: BusinessError) => {
    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

Copies a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string|number Yes Path or FD of the file to copy.
dest string|number Yes Destination path of the file or FD of the file created.
mode number No Whether to overwrite the file with the same name in the destination directory. The default value is 0, which is the only value supported.
0: overwrite the file with the same name and truncate the part that is not overwritten.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let srcPath = pathDir + "/srcDir/test.txt";
  let dstPath = pathDir + "/dstDir/test.txt";
  fs.copyFileSync(srcPath, dstPath);

fs.copyDir10+

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

Copies a directory to the specified directory. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the directory to copy.
dest string Yes Application sandbox path of the destination directory.
mode number No Copy mode. The default value is 0.
- 0: Throw an exception if a file conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory. All the non-conflicting files in the source directory will be moved to the destination directory, and the non-conflicting files in the destination directory will be retained. The data attribute in the error returned provides information about the conflicting files in the Array<ConflictFiles> format.
- 1: Forcibly overwrite the files with the same name in the destination directory. If there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory, all the files with the same name in the destination directory will be overwritten and the non-conflicting files will be retained.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  // Copy srcPath to destPath.
  let srcPath = pathDir + "/srcDir/";
  let destPath = pathDir + "/destDir/";
  fs.copyDir(srcPath, destPath, 0).then(() => {
    console.info("copy directory succeed");
  }).catch((err: BusinessError) => {
    console.info("copy directory failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.copyDir10+

copyDir(src: string, dest: string, mode?: number, callback: AsyncCallback<void, Array<ConflictFiles>>): void

Copies a directory to the specified directory. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the directory to copy.
dest string Yes Application sandbox path of the destination directory.
mode number No Copy mode. The default value is 0.
- 0: Throw an exception if a file conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory. All the non-conflicting files in the source directory will be moved to the destination directory, and the non-conflicting files in the destination directory will be retained. The data attribute in the error returned provides information about the conflicting files in the Array<ConflictFiles> format.
- 1: Forcibly overwrite the files with the same name in the destination directory. If there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory, all the files with the same name in the destination directory will be overwritten and the non-conflicting files will be retained.
callback AsyncCallback&lt;void, Array&lt;ConflictFiles&gt;&gt; Yes Callback invoked immediately after the directory is copied.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import fs, { ConflictFiles } from '@ohos.file.fs';
  // Copy srcPath to destPath.
  let srcPath = pathDir + "/srcDir/";
  let destPath = pathDir + "/destDir/";
  fs.copyDir(srcPath, destPath, 0, (err: BusinessError<Array<ConflictFiles>>) => {
    if (err && err.code == 13900015) {
      for (let i = 0; i < data.length; i++) {
        console.info("copy directory failed with conflicting files: " + data[i].srcFile + " " + data[i].destFile);
      }
    } else if (err) {
      console.info("copy directory failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("copy directory succeed");
    }  
  });

fs.copyDirSync10+

copyDirSync(src: string, dest: string, mode?: number): void

Copies a directory. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the directory to copy.
dest string Yes Application sandbox path of the destination directory.
mode number No Copy mode. The default value is 0.
- 0: Throw an exception if a file conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory. All the non-conflicting files in the source directory will be moved to the destination directory, and the non-conflicting files in the destination directory will be retained. The data attribute in the error returned provides information about the conflicting files in the Array<ConflictFiles> format.
- 1: Forcibly overwrite the files with the same name in the destination directory. If there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory, all the files with the same name in the destination directory will be overwritten and the non-conflicting files will be retained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  // Copy srcPath to destPath.
  let srcPath = pathDir + "/srcDir/";
  let destPath = pathDir + "/destDir/";
  try {
    fs.copyDirSync(srcPath, destPath, 0);
    console.info("copy directory succeed");
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.info("copy directory failed with error message: " + err.message + ", error code: " + err.code);
  }

fs.dup10+

dup(fd: number): File

Opens a File object based on the specified FD.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.

Return value

Type Description
File File object opened.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  // convert fd to file
  let fd: number = 0;  // fd comes from other modules
  let file = fs.dup(fd);
  console.info("The name of the file is " + file.name);
  fs.closeSync(file);

fs.mkdir

mkdir(path: string): Promise&lt;void&gt;

Creates a directory. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let dirPath = pathDir + "/testDir";
  fs.mkdir(dirPath).then(() => {
    console.info("Directory created");
  }).catch((err: BusinessError) => {
    console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.mkdir11+

mkdir(path: string, recursion: boolean): Promise

Creates a directory. This API uses a promise to return the result. If recursion is set to true, a multi-level directory can be created.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.
recursion string Yes Whether to create a multi-level directory. The value true means to create a multi-level directory. The value false means to create a single-level directory.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let dirPath = pathDir + "/testDir1/testDir2/testDir3";
  fs.mkdir(dirPath, true).then(() => {
    console.info("Directory created");
  }).catch((err: BusinessError) => {
    console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.mkdir

mkdir(path: string, callback: AsyncCallback&lt;void&gt;): void

Creates a directory. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the directory is created asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let dirPath = pathDir + "/testDir";
  fs.mkdir(dirPath, (err: BusinessError) => {
    if (err) {
      console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("mkdir success");
    }
  });

fs.mkdir11+

mkdir(path: string, recursion: boolean, callback: AsyncCallback&lt;void&gt;): void

Creates a directory. This API uses an asynchronous callback to return the result. If recursion is set to true, a multi-level directory can be created.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.
recursion string Yes Whether to create a multi-level directory. The value true means to create a multi-level directory. The value false means to create a single-level directory.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the directory is created.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let dirPath = pathDir + "/testDir1/testDir2/testDir3";
  fs.mkdir(dirPath, true, (err: BusinessError) => {
    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

Creates a directory. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let dirPath = pathDir + "/testDir";
  fs.mkdirSync(dirPath);

fs.mkdirSync11+

mkdirSync(path: string): void

Creates a directory. This API returns the result synchronously. If recursion is set to true, a multi-level directory can be created.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.
recursion string Yes Whether to create a multi-level directory. The value true means to create a multi-level directory. The value false means to create a single-level directory.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let dirPath = pathDir + "/testDir1/testDir2/testDir3";
  fs.mkdirSync(dirPath, true);

fs.open

open(path: string, mode?: number): Promise&lt;File&gt;

Opens a file. This API uses a promise to return the result. File uniform resource identifiers (URIs) are supported.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path or URI of the file.
mode number No Mode for opening the file. You must specify one of the following options. By default, the file is open in read-only mode.
- OpenMode.READ_ONLY(0o0): Open the file in read-only mode.
- OpenMode.WRITE_ONLY(0o1): Open the file in write-only mode.
- OpenMode.READ_WRITE(0o2): Open the file in read/write mode.
You can also specify the following options, separated by a bitwise OR operator (&#124;). By default, no additional options are given.
- OpenMode.CREATE(0o100): If the file does not exist, create it.
- OpenMode.TRUNC(0o1000): If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
- OpenMode.APPEND(0o2000): Open the file in append mode. New data will be added to the end of the file.
- OpenMode.NONBLOCK(0o4000): If path points to a named pipe (also known as a FIFO), block special file, or character special file, perform non-blocking operations on the opened file and in subsequent I/Os.
- OpenMode.DIR(0o200000): If path does not point to a directory, throw an exception. The write permission is not allowed.
- OpenMode.NOFOLLOW(0o400000): If path points to a symbolic link, throw an exception.
- OpenMode.SYNC(0o4010000): Open the file in synchronous I/O mode.

Return value

Type Description
Promise&lt;File&gt; Promise used to return the File object.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.open(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE).then((file: fs.File) => {
    console.info("file fd: " + file.fd);
    fs.closeSync(file);
  }).catch((err: BusinessError) => {
    console.info("open file failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.open

open(path: string, mode?: number, callback: AsyncCallback&lt;File&gt;): void

Opens a file. This API uses an asynchronous callback to return the result. File URIs are supported.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path or URI of the file.
mode number No Mode for opening the file. You must specify one of the following options. By default, the file is open in read-only mode.
- OpenMode.READ_ONLY(0o0): Open the file in read-only mode.
- OpenMode.WRITE_ONLY(0o1): Open the file in write-only mode.
- OpenMode.READ_WRITE(0o2): Open the file in read/write mode.
You can also specify the following options, separated by a bitwise OR operator (&#124;). By default, no additional options are given.
- OpenMode.CREATE(0o100): If the file does not exist, create it.
- OpenMode.TRUNC(0o1000): If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
- OpenMode.APPEND(0o2000): Open the file in append mode. New data will be added to the end of the file.
- OpenMode.NONBLOCK(0o4000): If path points to a named pipe (also known as a FIFO), block special file, or character special file, perform non-blocking operations on the opened file and in subsequent I/Os.
- OpenMode.DIR(0o200000): If path does not point to a directory, throw an exception. The write permission is not allowed.
- OpenMode.NOFOLLOW(0o400000): If path points to a symbolic link, throw an exception.
- OpenMode.SYNC(0o4010000): Open the file in synchronous I/O mode.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.open(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE, (err: BusinessError, file: fs.File) => {
    if (err) {
      console.info("open failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("file fd: " + file.fd);
    }
    fs.closeSync(file);
  });

fs.openSync

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

Opens a file. File URIs are supported. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path or URI of the file.
mode number No Mode for opening the file. You must specify one of the following options. By default, the file is open in read-only mode.
- OpenMode.READ_ONLY(0o0): Open the file in read-only mode.
- OpenMode.WRITE_ONLY(0o1): Open the file in write-only mode.
- OpenMode.READ_WRITE(0o2): Open the file in read/write mode.
You can also specify the following options, separated by a bitwise OR operator (&#124;). By default, no additional options are given.
- OpenMode.CREATE(0o100): If the file does not exist, create it.
- OpenMode.TRUNC(0o1000): If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
- OpenMode.APPEND(0o2000): Open the file in append mode. New data will be added to the end of the file.
- OpenMode.NONBLOCK(0o4000): If path points to a named pipe (also known as a FIFO), block special file, or character special file, perform non-blocking operations on the opened file and in subsequent I/Os.
- OpenMode.DIR(0o200000): If path does not point to a directory, throw an exception. The write permission is not allowed.
- OpenMode.NOFOLLOW(0o400000): If path points to a symbolic link, throw an exception.
- OpenMode.SYNC(0o4010000): Open the file in synchronous I/O mode.

Return value

Type Description
File File object opened.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  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&lt;number&gt;

Reads data from a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
buffer ArrayBuffer Yes Buffer used to store the file data read.
options Object No The options are as follows:
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.

Return value

Type Description
Promise&lt;number&gt; Promise used to return the data read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import buffer from '@ohos.buffer';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
  let arrayBuffer = new ArrayBuffer(4096);
  fs.read(file.fd, arrayBuffer).then((readLen: number) => {
    console.info("Read file data successfully");
    let buf = buffer.from(arrayBuffer, 0, readLen);
    console.info(`The content of file: ${buf.toString()}`);
  }).catch((err: BusinessError) => {
    console.info("read file data failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

fs.read

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

Reads data from a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
buffer ArrayBuffer Yes Buffer used to store the file data read.
options Object No The options are as follows:
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
callback AsyncCallback&lt;number&gt; Yes Callback invoked when the data is read asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import buffer from '@ohos.buffer';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
  let arrayBuffer = new ArrayBuffer(4096);
  fs.read(file.fd, arrayBuffer, (err: BusinessError, readLen: number) => {
    if (err) {
      console.info("read failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("Read file data successfully");
      let buf = buffer.from(arrayBuffer, 0, readLen);
      console.info(`The content of file: ${buf.toString()}`);
    }
    fs.closeSync(file);
  });

fs.readSync

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

Reads data from a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
buffer ArrayBuffer Yes Buffer used to store the file data read.
options Object No The options are as follows:
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.

Return value

Type Description
number Length of the data read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.rmdir

rmdir(path: string): Promise&lt;void&gt;

Deletes a directory. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let dirPath = pathDir + "/testDir";
  fs.rmdir(dirPath).then(() => {
    console.info("Directory deleted");
  }).catch((err: BusinessError) => {
    console.info("rmdir failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.rmdir

rmdir(path: string, callback: AsyncCallback&lt;void&gt;): void

Deletes a directory. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the directory is deleted asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let dirPath = pathDir + "/testDir";
  fs.rmdir(dirPath, (err: BusinessError) => {
    if (err) {
      console.info("rmdir failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("Directory deleted");
    }
  });

fs.rmdirSync

rmdirSync(path: string): void

Deletes a directory. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the directory.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.unlink

unlink(path: string): Promise&lt;void&gt;

Deletes a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.unlink(filePath).then(() => {
    console.info("File deleted");
  }).catch((err: BusinessError) => {
    console.info("remove file failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.unlink

unlink(path: string, callback: AsyncCallback&lt;void&gt;): void

Deletes a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.
callback AsyncCallback&lt;void&gt; Yes Callback invoked immediately after the file is deleted.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.unlink(filePath, (err: BusinessError) => {
    if (err) {
      console.info("remove file failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("File deleted");
    }
  });

fs.unlinkSync

unlinkSync(path: string): void

Deletes a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.write

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

Writes data into a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- offset (number): start position to write the data in the file. This parameter is optional. By default, data is written from the current position.
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported currently.

Return value

Type Description
Promise&lt;number&gt; Promise used to return the length of the data written.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  let str: string = "hello, world";
  fs.write(file.fd, str).then((writeLen: number) => {
    console.info("write data to file succeed and size is:" + writeLen);
  }).catch((err: BusinessError) => {
    console.info("write data to file failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

fs.write

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

Writes data into a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- offset (number): start position to write the data in the file. This parameter is optional. By default, data is written from the current position.
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported currently.
callback AsyncCallback&lt;number&gt; Yes Callback invoked when the data is written asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  let str: string = "hello, world";
  fs.write(file.fd, str, (err: BusinessError, writeLen: number) => {
    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

Writes data into a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- offset (number): start position to write the data in the file. This parameter is optional. By default, data is written from the current position.
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported currently.

Return value

Type Description
number Length of the data written in the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.truncate

truncate(file: string|number, len?: number): Promise&lt;void&gt;

Truncates a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|number Yes Application sandbox path or FD of the file.
len number No File length, in bytes, after truncation. The default value is 0.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let len: number = 5;
  fs.truncate(filePath, len).then(() => {
    console.info("File truncated");
  }).catch((err: BusinessError) => {
    console.info("truncate file failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.truncate

truncate(file: string|number, len?: number, callback: AsyncCallback&lt;void&gt;): void

Truncates a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|number Yes Application sandbox path or FD of the file.
len number No File length, in bytes, after truncation. The default value is 0.
callback AsyncCallback&lt;void&gt; Yes Callback that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let len: number = 5;
  fs.truncate(filePath, len, (err: BusinessError) => {
    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

Truncates a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|number Yes Application sandbox path or FD of the file.
len number No File length, in bytes, after truncation. The default value is 0.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.readLines11+

readLines(filePath: string, options?: Options): Promise&lt;ReaderIterator&gt;

Reads the text content of a file line by line. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
filePath string Yes Application sandbox path of the file.
options Options No Options for reading the text. The following options are supported:
- encoding (string): format of the data to be encoded.
It is valid only when the data is of the string type.
The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
Promise&lt;ReaderIterator&gt; Promise used to return a ReaderIterator object.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import { Options } from '@ohos.file.fs';
  let filePath = pathDir + "/test.txt";
  let options: Options = {
    encoding: 'utf-8'
  };
  fs.readLines(filePath, options).then((readerIterator: fs.ReaderIterator) => {
    for (let it = readerIterator.next(); !it.done; it = readerIterator.next()) {
      console.info("content: " + it.value);
    }
  }).catch((err: BusinessError) => {
    console.info("readLines failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.readLines11+

readLines(filePath: string, options?: Options, callback: AsyncCallback&lt;ReaderIterator&gt;): void

Reads the text content of a file line by line. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
filePath string Yes Application sandbox path of the file.
options Options No Options for reading the text. The following options are supported:
- encoding (string): format of the data to be encoded.
It is valid only when the data is of the string type.
The default value is ‘utf-8’, which is the only value supported.
callback AsyncCallback&lt;ReaderIterator&gt; Yes Callback invoked to return a ReaderIterator object.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import { Options } from '@ohos.file.fs';
  let filePath = pathDir + "/test.txt";
  let options: Options = {
    encoding: 'utf-8'
  };
  fs.readLines(filePath, options, (err: BusinessError, readerIterator: fs.ReaderIterator) => {
    if (err) {
      console.info("readLines failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      for (let it = readerIterator.next(); !it.done; it = readerIterator.next()) {
        console.info("content: " + it.value);
      }
    }
  })

fs.readLinesSync

readLinesSync(filePath: string, options?: Options): ReaderIterator

Reads the text content of a file line by line. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
filePath string Yes Application sandbox path of the file.
options Options No Options for reading the text. The following options are supported:
- encoding (string): format of the data to be encoded.
It is valid only when the data is of the string type.
The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
ReaderIterator ReaderIterator object.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { Options } from '@ohos.file.fs';
  let filePath = pathDir + "/test.txt";
  let options: Options = {
    encoding: 'utf-8'
  };
  let readerIterator = fs.readLines(filePath, options);
  for (let it = readerIterator.next(); !it.done; it = readerIterator.next()) {
    console.info("content: " + it.value);
  }

ReaderIterator11+

Provides a ReaderIterator object. Before calling APIs of ReaderIterator, you need to use readLines() to create a ReaderIterator instance.

next

next(): ReaderIteratorResult

Obtains the ReaderIterator result.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
ReaderIteratorResult ReaderIteratorResult object obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import { Options } from '@ohos.file.fs';
  let filePath = pathDir + "/test.txt";
  let options: Options = {
    encoding: 'utf-8'
  };
  fs.readLines(filePath, options).then((readerIterator: fs.ReaderIterator) => {
    for (let it = readerIterator.next(); !it.done; it = readerIterator.next()) {
      console.info("content: " + it.value);
    }
  }).catch((err: BusinessError) => {
    console.info("readLines failed with error message: " + err.message + ", error code: " + err.code);
  });

ReaderIteratorResult

Represents the information obtained by the ReadIterator object.

System capability: SystemCapability.FileManagement.File.FileIO

Name Type Description
done boolean Whether the iteration is complete.
value string File text content read line by line.

fs.readText

readText(filePath: string, options?: { offset?: number; length?: number; encoding?: string; }): Promise&lt;string&gt;

Reads the text content of a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
filePath string Yes Application sandbox path of the file.
options Object No The options are as follows:
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. This parameter is optional. The default value is the file length.
- encoding (string): format of the data (string) to be encoded. The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
Promise&lt;string&gt; Promise used to return the file content read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.readText(filePath).then((str: string) => {
    console.info("readText succeed:" + str);
  }).catch((err: BusinessError) => {
    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&lt;string&gt;): void

Reads the text content of a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
filePath string Yes Application sandbox path of the file.
options Object No The options are as follows:
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. This parameter is optional. The default value is the file length.
- encoding: format of the data to be encoded. The default value is ‘utf-8’, which is the only value supported.
callback AsyncCallback&lt;string&gt; Yes Callback invoked to return the content read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let stat = fs.statSync(filePath);
  let option = new Option();
  option.offset = 1;
  option.length = stat.size;
  fs.readText(filePath, option, (err: BusinessError, str: string) => {
    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

Reads the text of a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
filePath string Yes Application sandbox path of the file.
options Object No The options are as follows:
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. This parameter is optional. The default value is the file length.
- encoding (string): format of the data (string) to be encoded. The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
string Returns the content of the file read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let stat = fs.statSync(filePath);
  let option = new Option();
  option.offset = 1;
  option.length = stat.size;
  let str = fs.readTextSync(filePath, option);
  console.info("readText succeed:" + str);

fs.lstat

lstat(path: string): Promise&lt;Stat&gt;

Obtains information about a symbolic link. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.

Return value

Type Description
Promise&lt;Stat&gt; Promise used to return the symbolic link information obtained. For details, see stat.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.lstat(filePath).then((stat: fs.Stat) => {
    console.info("get link status succeed, the size of file is" + stat.size);
  }).catch((err: BusinessError) => {
    console.info("get link status failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.lstat

lstat(path: string, callback: AsyncCallback&lt;Stat&gt;): void

Obtains information about a symbolic link. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.
callback AsyncCallback&lt;Stat&gt; Yes Callback invoked to return the symbolic link information obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.lstat(filePath, (err: BusinessError, stat: fs.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);
    }
  });

fs.lstatSync

lstatSync(path: string): Stat

Obtains information about a symbolic link synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.

Return value

Type Description
Stat File information obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.rename

rename(oldPath: string, newPath: string): Promise&lt;void&gt;

Renames a file or folder. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
oldPath string Yes Application sandbox path of the file to rename.
newPath string Yes Application sandbox path of the renamed file.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcFile = pathDir + "/test.txt";
  let dstFile = pathDir + "/new.txt";
  fs.rename(srcFile, dstFile).then(() => {
    console.info("File renamed");
  }).catch((err: BusinessError) => {
    console.info("rename failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.rename

rename(oldPath: string, newPath: string, callback: AsyncCallback&lt;void&gt;): void

Renames a file or folder. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
oldPath string Yes Application sandbox path of the file to rename.
newPath string Yes Application sandbox path of the renamed file.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the file is asynchronously renamed.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcFile = pathDir + "/test.txt";
  let dstFile = pathDir + "/new.txt";
  fs.rename(srcFile, dstFile, (err: BusinessError) => {
    if (err) {
      console.info("rename failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("rename success");
    }
  });

fs.renameSync

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

Renames a file or folder synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
oldPath string Yes Application sandbox path of the file to rename.
newPath string Yes Application sandbox path of the renamed file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let srcFile = pathDir + "/test.txt";
  let dstFile = pathDir + "/new.txt";
  fs.renameSync(srcFile, dstFile);

fs.fsync

fsync(fd: number): Promise&lt;void&gt;

Flushes data of a file to disk. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.fsync(file.fd).then(() => {
    console.info("Data flushed");
  }).catch((err: BusinessError) => {
    console.info("sync data failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

fs.fsync

fsync(fd: number, callback: AsyncCallback&lt;void&gt;): void

Flushes data of a file to disk. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
Callback AsyncCallback&lt;void&gt; Yes Callback invoked when the file data is synchronized in asynchronous mode.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.fsync(file.fd, (err: BusinessError) => {
    if (err) {
      console.info("fsync failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("fsync success");
    }
    fs.closeSync(file);
  });

fs.fsyncSync

fsyncSync(fd: number): void

Flushes data of a file to disk synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.fdatasync

fdatasync(fd: number): Promise&lt;void&gt;

Flushes data of a file to disk. This API uses a promise to return the result. fdatasync() is similar to fsync(), but does not flush modified metadata unless that metadata is needed.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.fdatasync(file.fd).then((err: BusinessError) => {
    console.info("Data flushed");
  }).catch((err: BusinessError) => {
    console.info("sync data failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

fs.fdatasync

fdatasync(fd: number, callback: AsyncCallback&lt;void&gt;): void

Flushes data of a file to disk. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the file data is synchronized in asynchronous mode.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.fdatasync (file.fd, (err: BusinessError) => {
    if (err) {
      console.info("fdatasync failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("fdatasync success");
    }
    fs.closeSync(file);
  });

fs.fdatasyncSync

fdatasyncSync(fd: number): void

Synchronizes data in a file synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

fs.symlink

symlink(target: string, srcPath: string): Promise&lt;void&gt;

Creates a symbolic link based on a file path. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
target string Yes Application sandbox path of the source file.
srcPath string Yes Application sandbox path of the symbolic link.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcFile = pathDir + "/test.txt";
  let dstFile = pathDir + "/test";
  fs.symlink(srcFile, dstFile).then(() => {
    console.info("Symbolic link created");
  }).catch((err: BusinessError) => {
    console.info("symlink failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.symlink

symlink(target: string, srcPath: string, callback: AsyncCallback&lt;void&gt;): void

Creates a symbolic link based on a file path. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
target string Yes Application sandbox path of the source file.
srcPath string Yes Application sandbox path of the symbolic link.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the symbolic link is created asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcFile = pathDir + "/test.txt";
  let dstFile = pathDir + "/test";
  fs.symlink(srcFile, dstFile, (err: BusinessError) => {
    if (err) {
      console.info("symlink failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("symlink success");
    }
  });

fs.symlinkSync

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

Creates a symbolic link based on a file path. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
target string Yes Application sandbox path of the source file.
srcPath string Yes Application sandbox path of the symbolic link.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let srcFile = pathDir + "/test.txt";
  let dstFile = pathDir + "/test";
  fs.symlinkSync(srcFile, dstFile);

fs.listFile

listFile(path: string, options?: { recursion?: boolean; listNum?: number; filter?: Filter; }): Promise

Lists all files in a folder. This API uses a promise to return the result.
This API supports recursive listing of all files (including files in subfolders) and file filtering.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the folder.
options Object No File filtering options. The files are not filtered by default.

options parameters

Name Type Mandatory Description
recursion boolean No Whether to list all files in subfolders recursively. The default value is false. If recursion is false, the names of the files and folders that meet the specified conditions in the current directory are returned. If recursion is true, the relative paths (starting with /) of all files that meet the specified conditions in the directory are returned.
listNum number No Number of file names to list. The default value 0 means to list all files.
filter Filter No File filtering options. Currently, only the match by file name extension, fuzzy search by file name, and filter by file size or latest modification time are supported.

Return value

Type Description
Promise&lt;string[]&gt; Promise used to return the file names listed.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import fs, { Filter } from '@ohos.file.fs';
  class ListFileOption {
    public recursion: boolean = false;
    public listNum: number = 0;
    public filter: Filter;
  }
  let option = new ListFileOption();
  option.filter.suffix = [".png", ".jpg", ".jpeg"];
  option.filter.displayName = ["*abc", "efg*"];
  option.filter.fileSizeOver = 1024;
  option.filter.lastModifiedAfter = new Date().getTime();
  fs.listFile(pathDir, option).then((filenames: Array<string>) => {
    console.info("listFile succeed");
    for (let i = 0; i < filenames.length; i++) {
      console.info("fileName: %s", filenames[i]);
    }
  }).catch((err: BusinessError) => {
    console.info("list file failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.listFile

listFile(path: string, options?: { recursion?: boolean; listNum?: number; filter?: Filter; }, callback: AsyncCallback): void

Lists all files in a folder. This API uses an asynchronous callback to return the result.
This API supports recursive listing of all files (including files in subfolders) and file filtering.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the folder.
options Object No File filtering options. The files are not filtered by default.
callback AsyncCallback&lt;string[]&gt; Yes Callback invoked to return the file names listed.

options parameters

Name Type Mandatory Description
recursion boolean No Whether to list all files in subfolders recursively. The default value is false. If recursion is false, the names of the files and folders that meet the specified conditions in the current directory are returned. If recursion is true, the relative paths (starting with /) of all files that meet the specified conditions in the directory are returned.
listNum number No Number of file names to list. The default value 0 means to list all files.
filter Filter No File filtering options. Currently, only the match by file name extension, fuzzy search by file name, and filter by file size or latest modification time are supported.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import fs, { Filter } from '@ohos.file.fs';
  class ListFileOption {
    public recursion: boolean = false;
    public listNum: number = 0;
    public filter: Filter;
  }
  let option = new ListFileOption();
  option.filter.suffix = [".png", ".jpg", ".jpeg"];
  option.filter.displayName = ["*abc", "efg*"];
  option.filter.fileSizeOver = 1024;
  option.filter.lastModifiedAfter = new Date().getTime();
  fs.listFile(pathDir, option, (err: BusinessError, filenames: Array<string>) => {
    if (err) {
      console.info("list file failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("listFile succeed");
      for (let i = 0; i < filenames.length; i++) {
        console.info("filename: %s", filenames[i]);
      }
    }
  });

fs.listFileSync

listFileSync(path: string, options?: { recursion?: boolean; listNum?: number; filter?: Filter; }): string[]

Lists all files in a folder synchronously. This API supports recursive listing of all files (including files in subfolders) and file filtering.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the folder.
options Object No File filtering options. The files are not filtered by default.

options parameters

Name Type Mandatory Description
recursion boolean No Whether to list all files in subfolders recursively. The default value is false. If recursion is false, the names of the files and folders that meet the specified conditions in the current directory are returned. If recursion is true, the relative paths (starting with /) of all files that meet the specified conditions in the directory are returned.
listNum number No Number of file names to list. The default value 0 means to list all files.
filter Filter No File filtering options. Currently, only the match by file name extension, fuzzy search by file name, and filter by file size or latest modification time are supported.

Return value

Type Description
string[] File names listed.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import fs, { Filter } from '@ohos.file.fs';
  class ListFileOption {
    public recursion: boolean = false;
    public listNum: number = 0;
    public filter: Filter;
  }
  let option = new ListFileOption();
  option.filter.suffix = [".png", ".jpg", ".jpeg"];
  option.filter.displayName = ["*abc", "efg*"];
  option.filter.fileSizeOver = 1024;
  option.filter.lastModifiedAfter = new Date().getTime();
  let filenames = fs.listFileSync(pathDir, option);
  console.info("listFile succeed");
  for (let i = 0; i < filenames.length; i++) {
    console.info("filename: %s", filenames[i]);
  }

fs.lseek11+

lseek(fd: number, offset: number, whence?: WhenceType): number

Adjusts the offset of a file.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
offset number Yes Offset to set.
whence WhenceType No Type of the relative position of the offset.

Return value

Type Description
number Position of the current offset as measured from the beginning of the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  console.info('The current offset is at ' + fs.lseek(file.fd, 5, fs.WhenceType.SEEK_SET));
  fs.closeSync(file);

fs.moveDir10+

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

Moves a directory. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the directory to move.
dest string Yes Application sandbox path of the destination directory.
mode number No Mode for moving the directory. The default value is 0.
- 0: Throw an exception if a directory conflict occurs.
Throw an exception if there is a non-empty directory with the same name in the destination directory.
- 1: Throw an exception if a file conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory. All the non-conflicting files in the source directory will be moved to the destination directory, and the non-conflicting files in the destination directory will be retained. The data attribute in the error returned provides information about the conflicting files in the Array<ConflictFiles> format.
- 2: Forcibly overwrite the conflicting files in the destination directory. If there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory, all the files with the same name in the destination directory will be overwritten and the non-conflicting files will be retained.
- 3: Forcibly overwrite the conflicting directory.
Move the source directory to the destination directory and overwrite the conflicting directory completely. That is, if there is a directory with the same name in the destination directory, all the original files in that directory will not be retained.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  // move directory from srcPath to destPath
  let srcPath = pathDir + "/srcDir/";
  let destPath = pathDir + "/destDir/";
  fs.moveDir(srcPath, destPath, 1).then(() => {
    console.info("move directory succeed");
  }).catch((err: BusinessError) => {
    console.info("move directory failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.moveDir10+

moveDir(src: string, dest: string, mode?: number, callback: AsyncCallback<void, Array<ConflictFiles>>): void

Moves a directory. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the source directory.
dest string Yes Application sandbox path of the destination directory.
mode number No Mode for moving the directory. The default value is 0.
- 0: Throw an exception if a directory conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory.
- 1: Throw an exception if a file conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory. All the non-conflicting files in the source directory will be moved to the destination directory, and the non-conflicting files in the destination directory will be retained. The data attribute in the error returned provides information about the conflicting files in the Array<ConflictFiles> format.
- 2: Forcibly overwrite the conflicting files in the destination directory. If there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory, all the files with the same name in the destination directory will be overwritten and the non-conflicting files will be retained.
- 3: Forcibly overwrite the conflicting directory.
Move the source directory to the destination directory and overwrite the conflicting directory completely. That is, if there is a directory with the same name in the destination directory, all the original files in that directory will not be retained.
callback AsyncCallback&lt;void, Array&lt;ConflictFiles&gt;&gt; Yes Callback invoked when the directory is moved.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import fs, { ConflictFiles } from '@ohos.file.fs';
  // move directory from srcPath to destPath
  let srcPath = pathDir + "/srcDir/";
  let destPath = pathDir + "/destDir/";
  fs.moveDir(srcPath, destPath, 1, (err: BusinessError<Array<ConflictFiles>>) => {
    if (err && err.code == 13900015) {
      for (let i = 0; i < data.length; i++) {
        console.info("move directory failed with conflicting files: " + data[i].srcFile + " " + data[i].destFile);
      }
    } else if (err) {
      console.info("move directory failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("move directory succeed");
    }  
  });

fs.moveDirSync10+

moveDirSync(src: string, dest: string, mode?: number): void

Moves a directory. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the directory to copy.
dest string Yes Application sandbox path of the destination directory.
mode number No Mode for moving the directory. The default value is 0.
- 0: Throw an exception if a directory conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory.
- 1: Throw an exception if a file conflict occurs.
Throw an exception if there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory. All the non-conflicting files in the source directory will be moved to the destination directory, and the non-conflicting files in the destination directory will be retained. The data attribute in the error returned provides information about the conflicting files in the Array<ConflictFiles> format.
- 2: Forcibly overwrite the conflicting files in the destination directory. If there is a directory with the same name in the destination directory and files with the same name exist in the conflicting directory, all the files with the same name in the destination directory will be overwritten and the non-conflicting files will be retained.
- 3: Forcibly overwrite the conflicting directory.
Move the source directory to the destination directory and overwrite the conflicting directory completely. That is, if there is a directory with the same name in the destination directory, all the original files in that directory will not be retained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  // move directory from srcPath to destPath
  let srcPath = pathDir + "/srcDir/";
  let destPath = pathDir + "/destDir/";
  try {
    fs.moveDirSync(srcPath, destPath, 1);
    console.info("move directory succeed");
  } catch (err) {
    console.info("move directory failed with error message: " + err.message + ", error code: " + err.code);
  }

fs.moveFile

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

Moves a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the source file.
dest string Yes Application sandbox path of the destination file.
mode number No Whether to overwrite the file with the same name in the destination directory.
The value 0 means to overwrite the file with the same name in the destination directory; the value 1 means to throw an exception.
The default value is 0.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcPath = pathDir + "/source.txt";
  let destPath = pathDir + "/dest.txt";
  fs.moveFile(srcPath, destPath, 0).then(() => {
    console.info("move file succeed");
  }).catch((err: BusinessError) => {
    console.info("move file failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.moveFile

moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback<void>): void

Moves a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the source file.
dest string Yes Application sandbox path of the destination file.
mode number No Whether to overwrite the file with the same name in the destination directory.
The value 0 means to overwrite the file with the same name in the destination directory; the value 1 means to throw an exception.
The default value is 0.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the file is moved.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let srcPath = pathDir + "/source.txt";
  let destPath = pathDir + "/dest.txt";
  fs.moveFile(srcPath, destPath, 0, (err: BusinessError) => {
    if (err) {
      console.info("move file failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("move file succeed");
    }  
  });

fs.moveFileSync

moveFileSync(src: string, dest: string, mode?: number): void

Moves a file synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
src string Yes Application sandbox path of the source file.
dest string Yes Application sandbox path of the destination file.
mode number No Whether to overwrite the file with the same name in the destination directory.
The value 0 means to overwrite the file with the same name in the destination directory; the value 1 means to throw an exception.
The default value is 0.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let srcPath = pathDir + "/source.txt";
  let destPath = pathDir + "/dest.txt";
  fs.moveFileSync(srcPath, destPath, 0);
  console.info("move file succeed");

fs.mkdtemp

mkdtemp(prefix: string): Promise&lt;string&gt;

Creates a temporary directory. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
prefix string Yes A randomly generated string used to replace “XXXXXX” in a directory.

Return value

Type Description
Promise&lt;string&gt; Promise used to return the directory created.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  fs.mkdtemp(pathDir + "/XXXXXX").then((dir: string) => {
    console.info("mkdtemp succeed:" + dir);
  }).catch((err: BusinessError) => {
    console.info("mkdtemp failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.mkdtemp

mkdtemp(prefix: string, callback: AsyncCallback&lt;string&gt;): void

Creates a temporary directory. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
prefix string Yes A randomly generated string used to replace “XXXXXX” in a directory.
callback AsyncCallback&lt;string&gt; Yes Callback invoked when a temporary directory is created asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  fs.mkdtemp(pathDir + "/XXXXXX", (err: BusinessError, res: string) => {
    if (err) {
      console.info("mkdtemp failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("mkdtemp success");
    }
  });

fs.mkdtempSync

mkdtempSync(prefix: string): string

Creates a temporary directory. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
prefix string Yes A randomly generated string used to replace “XXXXXX” in a directory.

Return value

Type Description
string Unique path generated.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let res = fs.mkdtempSync(pathDir + "/XXXXXX");

fs.utimes11+

utimes(path: string, mtime: number): void

Updates the latest access time of a file.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters | Name |Type |Mandatory|Description | |————|——|——|————————————————————| |path|string| Yes |Application sandbox path of the file.| |mtime|number| Yes|New timestamp. The value is the number of milliseconds elapsed since the Epoch time (00:00:00 UTC on January 1, 1970). Only the last access time of a file can be modified.|

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  fs.writeSync(file.fd, 'test data');
  fs.closeSync(file);
  fs.utimes(filePath, new Date().getTime());

fs.createRandomAccessFile10+

createRandomAccessFile(file: string|File, mode?: number): Promise&lt;RandomAccessFile&gt;

Creates a RandomAccessFile instance based on the specified file path or file object. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters | Name |Type |Mandatory|Description | |————|——|——|————————————————————| | file |string|File|Yes |Application sandbox path of the file or an opened file object.| | mode |number|No|Option for creating the RandomAccessFile instance. This parameter is valid only when the application sandbox path of the file is passed in. One of the following options must be specified:
- OpenMode.READ_ONLY(0o0): Create the file in read-only mode. This is the default value.
- OpenMode.WRITE_ONLY(0o1): Create the file in write-only mode.
- OpenMode.READ_WRITE(0o2): Create the file in read/write mode.
You can also specify the following options, separated by a bitwise OR operator (&#124;). By default, no additional options are given.
- OpenMode.CREATE(0o100): If the file does not exist, create it.
- OpenMode.TRUNC(0o1000): If the RandomAccessFile object already exists and is created in write-only or read/write mode, truncate the file length to 0.
- OpenMode.APPEND(0o2000): Create the file in append mode. New data will be added to the end of the RandomAccessFile object.
- OpenMode.NONBLOCK(0o4000): If path points to a named pipe (also known as a FIFO), block special file, or character special file, perform non-blocking operations on the created file and in subsequent I/Os.
- OpenMode.DIR(0o200000): If path does not point to a directory, throw an exception. The write permission is not allowed.
- OpenMode.NOFOLLOW(0o400000): If path points to a symbolic link, throw an exception.
- OpenMode.SYNC(0o4010000): Create a RandomAccessFile instance in synchronous I/O mode.|

Return value

Type Description
Promise&lt;RandomAccessFile&gt; Promise used to return the RandomAccessFile instance created.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  fs.createRandomAccessFile(file).then((randomAccessFile: fs.RandomAccessFile) => {
    console.info("randomAccessFile fd: " + randomAccessFile.fd);
    randomAccessFile.close();
  }).catch((err: BusinessError) => {
    console.info("create randomAccessFile failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

fs.createRandomAccessFile10+

createRandomAccessFile(file: string|File, mode?: number, callback: AsyncCallback&lt;RandomAccessFile&gt;): void

Creates a RandomAccessFile instance based on the specified file path or file object. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|File Yes Application sandbox path of the file or an opened file object.
mode number No Option for creating the RandomAccessFile instance. This parameter is valid only when the application sandbox path of the file is passed in. One of the following options must be specified:
- OpenMode.READ_ONLY(0o0): Create the file in read-only mode. This is the default value.
- OpenMode.WRITE_ONLY(0o1): Create the file in write-only mode.
- OpenMode.READ_WRITE(0o2): Create the file in read/write mode.
You can also specify the following options, separated by a bitwise OR operator (&#124;). By default, no additional options are given.
- OpenMode.CREATE(0o100): If the file does not exist, create it.
- OpenMode.TRUNC(0o1000): If the RandomAccessFile object already exists and is created in write-only or read/write mode, truncate the file length to 0.
- OpenMode.APPEND(0o2000): Create the file in append mode. New data will be added to the end of the RandomAccessFile object.
- OpenMode.NONBLOCK(0o4000): If path points to a named pipe (also known as a FIFO), block special file, or character special file, perform non-blocking operations on the created file and in subsequent I/Os.
- OpenMode.DIR(0o200000): If path does not point to a directory, throw an exception. The write permission is not allowed.
- OpenMode.NOFOLLOW(0o400000): If path points to a symbolic link, throw an exception.
- OpenMode.SYNC(0o4010000): Create a RandomAccessFile instance in synchronous I/O mode.
callback AsyncCallback&lt;RandomAccessFile&gt; Yes Callback invoked to return the RandomAccessFile instance created.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  fs.createRandomAccessFile(file, (err: BusinessError, randomAccessFile: fs.RandomAccessFile) => {
    if (err) {
      console.info("create randomAccessFile failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("randomAccessFilefile fd: " + randomAccessFile.fd);
      randomAccessFile.close();
    }
    fs.closeSync(file);
  });

fs.createRandomAccessFileSync10+

createRandomAccessFileSync(file: string|File, mode?: number): RandomAccessFile

Creates a RandomAccessFile instance based on the specified file path or file object.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
file string|File Yes Application sandbox path of the file or an opened file object.
mode number No Option for creating the RandomAccessFile instance. This parameter is valid only when the application sandbox path of the file is passed in. One of the following options must be specified:
- OpenMode.READ_ONLY(0o0): Create the file in read-only mode. This is the default value.
- OpenMode.WRITE_ONLY(0o1): Create the file in write-only mode.
- OpenMode.READ_WRITE(0o2): Create the file in read/write mode.
You can also specify the following options, separated by a bitwise OR operator (&#124;). By default, no additional options are given.
- OpenMode.CREATE(0o100): If the file does not exist, create it.
- OpenMode.TRUNC(0o1000): If the RandomAccessFile object already exists and is created in write-only or read/write mode, truncate the file length to 0.
- OpenMode.APPEND(0o2000): Create the file in append mode. New data will be added to the end of the RandomAccessFile object.
- OpenMode.NONBLOCK(0o4000): If path points to a named pipe (also known as a FIFO), block special file, or character special file, perform non-blocking operations on the created file and in subsequent I/Os.
- OpenMode.DIR(0o200000): If path does not point to a directory, throw an exception. The write permission is not allowed.
- OpenMode.NOFOLLOW(0o400000): If path points to a symbolic link, throw an exception.
- OpenMode.SYNC(0o4010000): Create a RandomAccessFile instance in synchronous I/O mode.

Return value

Type Description
RandomAccessFile RandomAccessFile instance created.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  let randomaccessfile = fs.createRandomAccessFileSync(file);
  randomaccessfile.close();

fs.createStream

createStream(path: string, mode: string): Promise&lt;Stream&gt;

Creates a stream based on the file path. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.
mode string Yes - r: Open a file for reading. The file must exist.
- r+: Open a file for both reading and writing. The file must exist.
- w: Open a file for writing. If the file exists, clear its content. If the file does not exist, create a file.
- w+: Open a file for both reading and writing. If the file exists, clear its content. If the file does not exist, create a file.
- a: Open a file in append mode for writing at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
- a+: Open a file in append mode for reading or updating at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).

Return value

Type Description
Promise&lt;Stream&gt; Promise used to return the stream opened.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.createStream(filePath, "r+").then((stream: fs.Stream) => {
    console.info("Stream created");
  }).catch((err: BusinessError) => {
    console.info("createStream failed with error message: " + err.message + ", error code: " + err.code);
  });

fs.createStream

createStream(path: string, mode: string, callback: AsyncCallback&lt;Stream&gt;): void

Creates a stream based on the file path. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.
mode string Yes - r: Open a file for reading. The file must exist.
- r+: Open a file for both reading and writing. The file must exist.
- w: Open a file for writing. If the file exists, clear its content. If the file does not exist, create a file.
- w+: Open a file for both reading and writing. If the file exists, clear its content. If the file does not exist, create a file.
- a: Open a file in append mode for writing at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
- a+: Open a file in append mode for reading or updating at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
callback AsyncCallback&lt;Stream&gt; Yes Callback invoked when the stream is created asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  fs.createStream(filePath, "r+", (err: BusinessError, stream: fs.Stream) => {
    if (err) {
      console.info("create stream failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("create stream success");
    }
  });

fs.createStreamSync

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

Creates a stream based on the file path. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file.
mode string Yes - r: Open a file for reading. The file must exist.
- r+: Open a file for both reading and writing. The file must exist.
- w: Open a file for writing. If the file exists, clear its content. If the file does not exist, create a file.
- w+: Open a file for both reading and writing. If the file exists, clear its content. If the file does not exist, create a file.
- a: Open a file in append mode for writing at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
- a+: Open a file in append mode for reading or updating at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).

Return value

Type Description
Stream Stream opened.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");

fs.fdopenStream

fdopenStream(fd: number, mode: string): Promise&lt;Stream&gt;

Opens a stream based on the file descriptor. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
mode string Yes - r: Open a file for reading. The file must exist.
- r+: Open a file for both reading and writing. The file must exist.
- w: Open a file for writing. If the file exists, clear its content. If the file does not exist, create a file.
- w+: Open a file for both reading and writing. If the file exists, clear its content. If the file does not exist, create a file.
- a: Open a file in append mode for writing at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
- a+: Open a file in append mode for reading or updating at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).

Return value

Type Description
Promise&lt;Stream&gt; Promise used to return the stream opened.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath);
  fs.fdopenStream(file.fd, "r+").then((stream: fs.Stream) => {
    console.info("Stream opened");
    stream.closeSync();
  }).catch((err: BusinessError) => {
    console.info("openStream failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

fs.fdopenStream

fdopenStream(fd: number, mode: string, callback: AsyncCallback&lt;Stream&gt;): void

Opens a stream based on the file descriptor. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
mode string Yes - r: Open a file for reading. The file must exist.
- r+: Open a file for both reading and writing. The file must exist.
- w: Open a file for writing. If the file exists, clear its content. If the file does not exist, create a file.
- w+: Open a file for both reading and writing. If the file exists, clear its content. If the file does not exist, create a file.
- a: Open a file in append mode for writing at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
- a+: Open a file in append mode for reading or updating at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
callback AsyncCallback&lt;Stream&gt; Yes Callback invoked when the stream is created asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
  fs.fdopenStream(file.fd, "r+", (err: BusinessError, stream: fs.Stream) => {
    if (err) {
      console.info("fdopen stream failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("fdopen stream success");
      stream.closeSync();
    }
    fs.closeSync(file);
  });

fs.fdopenStreamSync

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

Opens a stream based on the file descriptor. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
fd number Yes FD of the file.
mode string Yes - r: Open a file for reading. The file must exist.
- r+: Open a file for both reading and writing. The file must exist.
- w: Open a file for writing. If the file exists, clear its content. If the file does not exist, create a file.
- w+: Open a file for both reading and writing. If the file exists, clear its content. If the file does not exist, create a file.
- a: Open a file in append mode for writing at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).
- a+: Open a file in append mode for reading or updating at the end of the file. If the file does not exist, create a file. If the file exists, write data to the end of the file (the original content of the file is reserved).

Return value

Type Description
Stream Stream opened.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY|fs.OpenMode.CREATE);
  let ss = fs.fdopenStreamSync(file.fd, "r+");
  ss.closeSync();
  fs.closeSync(file);

fs.createWatcher10+

createWatcher(path: string, events: number, listener: WatchEventListener): Watcher

Creates a Watcher object to observe file or directory changes.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Application sandbox path of the file or directory to observe.
events number Yes Events to observe. Multiple events can be separated by a bitwise OR operator (&#124;).
- 0x1: IN_ACCESS: A file is accessed.
- 0x2: IN_MODIFY: The file content is modified.
- 0x4: IN_ATTRIB: Metadata is modified.
- 0x8: IN_CLOSE_WRITE: The file opened for writing is closed.
- 0x10: IN_CLOSE_NOWRITE: The file or directory opened is closed without being written.
- 0x20: IN_OPEN: A file or directory is opened.
- 0x40: IN_MOVED_FROM: A file in the observed directory is moved.
- 0x80: IN_MOVED_TO: A file is moved to the observed directory.
- 0x100: IN_CREATE: A file or directory is created in the observed directory.
- 0x200: IN_DELETE: A file or directory is deleted from the observed directory.
- 0x400: IN_DELETE_SELF: The observed directory is deleted. After the directory is deleted, the listening stops.
- 0x800: IN_MOVE_SELF: The observed file or directory is moved. After the file or directory is moved, the listening continues.
- 0xfff: IN_ALL_EVENTS: All events.
listener WatchEventListener Yes Callback invoked when an observed event occurs. The callback will be invoked each time an observed event occurs.

Return value

Type Description
Watcher Watcher object created.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import fs, { WatchEvent } from '@ohos.file.fs';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  let watcher = fs.createWatcher(filePath, 0x2|0x10, (watchEvent: WatchEvent) => {
    if (watchEvent.event == 0x2) {
      console.info(watchEvent.fileName + 'was modified');
    } else if (watchEvent.event == 0x10) {
      console.info(watchEvent.fileName + 'was closed');
    }
  });
  watcher.start();
  fs.writeSync(file.fd, 'test');
  fs.closeSync(file);
  watcher.stop();

WatchEventListener10+

(event: WatchEvent): void

Called when an observed event occurs.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
event WatchEvent Yes Event for the callback to invoke.

WatchEvent10+

Defines the event to observe.

System capability: SystemCapability.FileManagement.File.FileIO

Name Type Readable Writable Description
fileName string Yes No Name of the file for which the event occurs.
event number Yes No Events to observe. For details, see events in createWatcher.
cookie number Yes No Cookie bound with the event. Currently, only the IN_MOVED_FROM and IN_MOVED_TO events are supported. The IN_MOVED_FROM and IN_MOVED_TO events of the same file have the same cookie value.

Stat

Represents detailed file information. Before calling any API of the Stat() class, use stat() to create a Stat instance synchronously or asynchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Attributes

Name Type Readable Writable Description
ino number Yes No File ID. Different files on the same device have different inos.
mode number Yes No File permissions. The meaning of each bit is as follows:
NOTE
The following values are in octal format. The returned values are in decimal format. You need to convert the values.
- 0o400: The owner has the permission to read a regular file or a directory entry.
- 0o200: The owner has the permission to write a regular file or create and delete a directory entry.
- 0o100: The owner has the permission to execute a regular file or search for the specified path in a directory.
- 0o040: The user group has the permission to read a regular file or a directory entry.
- 0o020: The user group has the permission to write a regular file or create and delete a directory entry.
- 0o010: The user group has the permission to execute a regular file or search for the specified path in a directory.
- 0o004: Other users have the permission to read a regular file or a directory entry.
- 0o002: Other users have the permission to write a regular file or create and delete a directory entry.
- 0o001: Other users have the permission to execute a regular file or search for the specified path in a directory.
uid number Yes No ID of the file owner.
gid number Yes No ID of the user group of the file.
size number Yes No File size, in bytes. This parameter is valid only for regular files.
atime number Yes No Time of the last access to the file. The value is the number of seconds elapsed since 00:00:00 on January 1, 1970.
mtime number Yes No Time of the last modification to the file. The value is the number of seconds elapsed since 00:00:00 on January 1, 1970.
ctime number Yes No Time of the last status change of the file. The value is the number of seconds elapsed since 00:00:00 on January 1, 1970.

isBlockDevice

isBlockDevice(): boolean

Checks whether this file is a block special file. A block special file supports access by block only, and it is cached when accessed.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is a block special file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let isBLockDevice = fs.statSync(filePath).isBlockDevice();

isCharacterDevice

isCharacterDevice(): boolean

Checks whether this file is a character special file. A character special file supports random access, and it is not cached when accessed.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is a character special file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

isDirectory

isDirectory(): boolean

Checks whether this file is a directory.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is a directory.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let dirPath = pathDir + "/test";
  let isDirectory = fs.statSync(dirPath).isDirectory(); 

isFIFO

isFIFO(): boolean

Checks whether this file is a named pipe (or FIFO). Named pipes are used for inter-process communication.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is an FIFO.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

isFile

isFile(): boolean

Checks whether this file is a regular file.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is a regular file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

isSocket

isSocket(): boolean

Checks whether this file is a socket.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is a socket.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

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

isSymbolicLink

isSymbolicLink(): boolean

Checks whether this file is a symbolic link.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
boolean Whether the file is a symbolic link.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test";
  let isSymbolicLink = fs.statSync(filePath).isSymbolicLink(); 

Stream

Provides a stream for file operations. Before calling any API of the Stream class, use createStream() to create a Stream instance synchronously or asynchronously.

close

close(): Promise&lt;void&gt;

Closes the stream. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
Promise&lt;void&gt; Promise used to return the result.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  ss.close().then(() => {
    console.info("File stream closed");
  }).catch((err: BusinessError) => {
    console.info("close fileStream  failed with error message: " + err.message + ", error code: " + err.code);
  });

close

close(callback: AsyncCallback&lt;void&gt;): void

Closes the stream. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
callback AsyncCallback&lt;void&gt; Yes Callback invoked immediately after the stream is closed.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  ss.close((err: BusinessError) => {
    if (err) {
      console.info("close stream failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("close stream success");
    }
  });

closeSync

closeSync(): void

Closes the stream. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  ss.closeSync();

flush

flush(): Promise&lt;void&gt;

Flushes the stream. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
Promise&lt;void&gt; Promise used to return the result.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  ss.flush().then(() => {
    console.info("Stream flushed");
  }).catch((err: BusinessError) => {
    console.info("flush failed with error message: " + err.message + ", error code: " + err.code);
  });

flush

flush(callback: AsyncCallback&lt;void&gt;): void

Flushes the stream. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the stream is asynchronously flushed.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  ss.flush((err: BusinessError) => {
    if (err) {
      console.info("flush stream failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("flush success");
    }
  });

flushSync

flushSync(): void

Flushes the stream. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  ss.flushSync();

write

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

Writes data into the stream. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- length (number): length of the data to write. The default value is the buffer length.
- offset (number): start position to write the data in the file. This parameter is optional. By default, data is written from the current position.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
Promise&lt;number&gt; Promise used to return the length of the data written.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  ss.write("hello, world", option).then((number: number) => {
    console.info("write succeed and size is:" + number);
  }).catch((err: BusinessError) => {
    console.info("write failed with error message: " + err.message + ", error code: " + err.code);
  });

write

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

Writes data into the stream. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- offset (number): start position to write the data in the file. This parameter is optional. By default, data is written from the current position.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported.
callback AsyncCallback&lt;number&gt; Yes Callback invoked when the data is written asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  ss.write("hello, world", option, (err: BusinessError, bytesWritten: number) => {
    if (err) {
      console.info("write stream failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      if (bytesWritten) {
        console.info("write succeed and size is:" + bytesWritten);
      }
    }
  });

writeSync

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

Writes data into the stream. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- offset (number): start position to write the data in the file. This parameter is optional. By default, data is written from the current position.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
number Length of the data written in the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath,"r+");
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  let num = ss.writeSync("hello, world", option);

read

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

Reads data from the stream. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer Yes Buffer used to store the file read.
options Object No The options are as follows:
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.

Return value

Type Description
Promise&lt;number&gt; Promise used to return the data read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import buffer from '@ohos.buffer';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  let arrayBuffer = new ArrayBuffer(4096);
  class Option {
    offset: number = 0;
    length: number = 0;
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  ss.read(arrayBuffer, option).then((readLen: number) => {
    console.info("Read data successfully");
    let buf = buffer.from(arrayBuffer, 0, readLen);
    console.log(`The content of file: ${buf.toString()}`);
  }).catch((err: BusinessError) => {
    console.info("read data failed with error message: " + err.message + ", error code: " + err.code);
  });

read

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

Reads data from the stream. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer Yes Buffer used to store the file read.
options Object No The options are as follows:
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.
callback AsyncCallback&lt;number&gt; Yes Callback invoked when data is read asynchronously from the stream.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  import buffer from '@ohos.buffer';
  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  let arrayBuffer = new ArrayBuffer(4096);
  class Option {
    offset: number = 0;
    length: number = 0;
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  ss.read(arrayBuffer, option, (err: BusinessError, readLen: number) => {
    if (err) {
      console.info("read stream failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("Read data successfully");
      let buf = buffer.from(arrayBuffer, 0, readLen);
      console.log(`The content of file: ${buf.toString()}`);
    }
  });

readSync

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

Reads data from the stream. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer Yes Buffer used to store the file read.
options Object No The options are as follows:
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
- offset (number): start position to read the data. This parameter is optional. By default, data is read from the current position.

Return value

Type Description
number Length of the data read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let ss = fs.createStreamSync(filePath, "r+");
  class Option {
    offset: number = 0;
    length: number = 0;
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  let buf = new ArrayBuffer(4096);
  let num = ss.readSync(buf, option);

File

Represents a File object opened by open().

System capability: SystemCapability.FileManagement.File.FileIO

Attributes

Name Type Readable Writable Description
fd number Yes No FD of the file.
path10+ string Yes No Path of the file.
name10+ string Yes No Name of the file.

getParent11+

getParent(): string

Obtains the parent directory of this file object.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

Type Description
string Parent directory obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let file = fs.openSync(pathDir + "/test.txt", fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  console.info('The parent path is: ' + file.getParent());
  fs.closeSync(file);

lock

lock(exclusive?: boolean): Promise<void>

Applies an exclusive lock or a shared lock on this file in blocking mode. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
exclusive boolean No Lock to apply. The value true means an exclusive lock, and the value false (default) means a shared lock.

Return value

Type Description
Promise&lt;void&gt; Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let file = fs.openSync(pathDir + "/test.txt", fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  file.lock(true).then(() => {
    console.log("lock file successful");
  }).catch((err: BusinessError) => {
    console.info("lock file failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    fs.closeSync(file);
  });

lock

lock(exclusive?: boolean, callback: AsyncCallback<void>): void

Applies an exclusive lock or a shared lock on this file in blocking mode. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
exclusive boolean No Lock to apply. The value true means an exclusive lock, and the value false (default) means a shared lock.
callback AsyncCallback&lt;void&gt; Yes Callback invoked when the file is locked.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let file = fs.openSync(pathDir + "/test.txt", fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  file.lock(true, (err: BusinessError) => {
    if (err) {
      console.info("lock file failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.log("lock file successful");
    }
    fs.closeSync(file);
  });

tryLock

tryLock(exclusive?: boolean): void

Applies an exclusive lock or a shared lock on this file in non-blocking mode.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
exclusive boolean No Lock to apply. The value true means an exclusive lock, and the value false (default) means a shared lock.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let file = fs.openSync(pathDir + "/test.txt", fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  file.tryLock(true);
  console.log("lock file successful");
  fs.closeSync(file);

unlock

unlock(): void

Unlocks this file synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let file = fs.openSync(pathDir + "/test.txt", fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  file.tryLock(true);
  file.unlock();
  console.log("unlock file successful");
  fs.closeSync(file);

RandomAccessFile

Randomly reads and writes a stream. Before invoking any API of RandomAccessFile, you need to use createRandomAccess() to create a RandomAccessFile instance synchronously or asynchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Attributes

Name Type Readable Writable Description
fd number Yes No FD of the file.
filePointer number Yes Yes Offset pointer to the RandomAccessFile instance.

setFilePointer10+

setFilePointer(): void

Sets the file offset pointer.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let randomAccessFile = fs.createRandomAccessFileSync(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  randomAccessFile.setFilePointer(1);
  randomAccessFile.close();

close10+

close(): void

Closes this RandomAccessFile instance synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let randomAccessFile = fs.createRandomAccessFileSync(filePath, fs.OpenMode.READ_WRITE|fs.OpenMode.CREATE);
  randomAccessFile.close();

write10+

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

Writes data into a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- length (number): length of the data to write. The default value is the buffer length.
- offset (number): start position to write the data (it is determined by filePointer plus offset). This parameter is optional. By default, data is written from the filePointer.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
Promise&lt;number&gt; Promise used to return the length of the data written.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  let randomaccessfile = fs.createRandomAccessFileSync(file);
  let bufferLength: number = 4096;
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let option = new Option();
  option.offset = 1;
  option.length = 5;
  let arrayBuffer = new ArrayBuffer(bufferLength);
  randomaccessfile.write(arrayBuffer, option).then((bytesWritten: number) => {
    console.info("randomAccessFile bytesWritten: " + bytesWritten);
  }).catch((err: BusinessError) => {
    console.info("create randomAccessFile failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    randomaccessfile.close();
    fs.closeSync(file);
  });

write10+

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

Writes data into a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- offset (number): start position to write the data (it is determined by filePointer plus offset). This parameter is optional. By default, data is written from the filePointer.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported.
callback AsyncCallback&lt;number&gt; Yes Callback invoked when the data is written asynchronously.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  let randomAccessFile = fs.createRandomAccessFileSync(file);
  let bufferLength: number = 4096;
  class Option {
    offset: number = 0;
    length: number = bufferLength;
    encoding: string = 'utf-8';
  }
  let option = new Option();
  option.offset = 1;
  let arrayBuffer = new ArrayBuffer(bufferLength);
  randomAccessFile.write(arrayBuffer, option, (err: BusinessError, bytesWritten: number) => {
    if (err) {
      console.info("write failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      if (bytesWritten) {
        console.info("write succeed and size is:" + bytesWritten);
      }
    }
    randomAccessFile.close();
    fs.closeSync(file);
  });

writeSync10+

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

Writes data into a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer|string Yes Data to write. It can be a string or data from a buffer.
options Object No The options are as follows:
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length.
- offset (number): start position to write the data (it is determined by filePointer plus offset). This parameter is optional. By default, data is written from the filePointer.
- encoding (string): format of the data to be encoded when the data is a string. The default value is ‘utf-8’, which is the only value supported.

Return value

Type Description
number Length of the data written in the file.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let randomaccessfile = fs.createRandomAccessFileSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  class Option {
    offset: number = 0;
    length: number = 0;
    encoding: string = 'utf-8';
  }
  let option = new Option();
  option.offset = 5;
  option.length = 5;
  let bytesWritten = randomaccessfile.writeSync("hello, world", option);
  randomaccessfile.close();

read10+

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

Reads data from a file. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer Yes Buffer used to store the file read.
options Object No The options are as follows:
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
- offset (number): start position to read the data (it is determined by filePointer plus offset). This parameter is optional. By default, data is read from the filePointer.

Return value

Type Description
Promise&lt;number&gt; Promise used to return the data read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  let randomaccessfile = fs.createRandomAccessFileSync(file);
  let bufferLength: number = 4096;
  class Option {
    offset: number = 0;
    length: number = bufferLength;
  }
  let option = new Option();
  option.offset = 1;
  option.length = 5;
  let arrayBuffer = new ArrayBuffer(bufferLength);
  randomaccessfile.read(arrayBuffer, option).then((readLength: number) => {
    console.info("randomAccessFile readLength: " + readLength);
  }).catch((err: BusinessError) => {
    console.info("create randomAccessFile failed with error message: " + err.message + ", error code: " + err.code);
  }).finally(() => {
    randomaccessfile.close();
    fs.closeSync(file);
  });

read10+

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

Reads data from a file. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer Yes Buffer used to store the file read.
options Object No The options are as follows:
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
- offset (number): start position to read the data (it is determined by filePointer plus offset). This parameter is optional. By default, data is read from the filePointer.
callback AsyncCallback&lt;number&gt; Yes Callback invoked when data is read asynchronously from the stream.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  let randomaccessfile = fs.createRandomAccessFileSync(file);
  let length: number = 20;
  class Option {
    offset: number = 0;
    length: number = length;
  }
  let option = new Option();
  option.offset = 1;
  option.length = 5;
  let arrayBuffer = new ArrayBuffer(length);
  randomaccessfile.read(arrayBuffer, option, (err: BusinessError, readLength: number) => {
    if (err) {
      console.info("read failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      if (readLength) {
        console.info("read succeed and size is:" + readLength);
      }
    }
    randomAccessFile.close();
    fs.closeSync(file);
  });

readSync10+

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

Reads data from a file. This API returns the result synchronously.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
buffer ArrayBuffer Yes Buffer used to store the file read.
options Object No The options are as follows:
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length.
- offset (number): start position to read the data (it is determined by filePointer plus offset). This parameter is optional. By default, data is read from the filePointer.

Return value

Type Description
number Length of the data read.

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let file = fs.openSync(filePath, fs.OpenMode.CREATE|fs.OpenMode.READ_WRITE);
  let randomaccessfile = fs.createRandomAccessFileSync(file);
  let length: number = 4096;
  let arrayBuffer = new ArrayBuffer(length);
  let readLength = randomaccessfile.readSync(arrayBuffer);
  randomaccessfile.close();
  fs.closeSync(file);

Watcher10+

Provides APIs for observing the changes of files or folders. Before using the APIs of Watcher , call createWatcher() to create a Watcher object.

start10+

start(): void

Starts listening.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let watcher = fs.createWatcher(filePath, 0xfff, () => {});
  watcher.start();
  watcher.stop();

stop10+

stop(): void

Stops listening.

System capability: SystemCapability.FileManagement.File.FileIO

Error codes

For details about the error codes, see Basic File IO Error Codes.

Example

  let filePath = pathDir + "/test.txt";
  let watcher = fs.createWatcher(filePath, 0xfff, () => {});
  watcher.start();
  watcher.stop();

OpenMode

Defines the constants of the mode parameter used in open(). It specifies the mode for opening a file.

System capability: SystemCapability.FileManagement.File.FileIO

Name Type Value Description
READ_ONLY number 0o0 Open the file in read-only mode.
WRITE_ONLY number 0o1 Open the file in write-only mode.
READ_WRITE number 0o2 Open the file in read/write mode.
CREATE number 0o100 Create a file if the specified file does not exist.
TRUNC number 0o1000 If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
APPEND number 0o2000 Open the file in append mode. New data will be written to the end of the file.
NONBLOCK number 0o4000 If path points to a named pipe (FIFO), block special file, or character special file, perform non-blocking operations on the open file and in subsequent I/Os.
DIR number 0o200000 If path does not point to a directory, throw an exception.
NOFOLLOW number 0o400000 If path points to a symbolic link, throw an exception.
SYNC number 0o4010000 Open the file in synchronous I/O mode.

Filter10+

Defines the file filtering configuration, which can be used by listFile().

System capability: SystemCapability.FileManagement.File.FileIO

Name Type Description
suffix Array&lt;string&gt; Locate files that fully match the specified file name extensions, which are of the OR relationship.
displayName Array&lt;string&gt; Locate files that fuzzy match the specified file names, which are of the OR relationship. Currently, only the wildcard * is supported.
mimeType Array&lt;string&gt; Locate files that fully match the specified MIME types, which are of the OR relationship.
fileSizeOver number Locate files that are greater than or equal to the specified size.
lastModifiedAfter number Locate files whose last modification time is the same or later than the specified time.
excludeMedia boolean Whether to exclude the files already in Media.

ConflictFiles10+

Defines information about the conflicting files. It is used the copyDir() and moveDir().

System capability: SystemCapability.FileManagement.File.FileIO

Name Type Description
srcFile string Path of the source file.
destFile string Path of the destination file.

Options11+

Defines the options for reading the file text line by line (readLines()).

System capability: SystemCapability.FileManagement.File.FileIO

Name Type Description
encoding string File encoding format. It is optional.

WhenceType11+

Enumerates the types of the relative position for the offset. It is used in lseek().

System capability: SystemCapability.FileManagement.File.FileIO

Name Value Description
SEEK_SET 0 Beginning of the file.
SEEK_CUR 1 Current position of the offset.
SEEK_END 2 End of the file.

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

0  赞