harmony 鸿蒙@ohos.fileio (File Management)

2022-08-09 浏览 (904)

@ohos.fileio (File Management)

The fileio module provides APIs for file storage and management, including basic file management, directory management, file information statistics, and stream read and write.

NOTE

  • The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
  • The APIs provided by this module are deprecated since API version 9. You are advised to use @ohos.file.fs.

Modules to Import

import fileio from '@ohos.fileio';

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;
   }
 }

For details about how to obtain the stage model context, see UIAbilityContext.

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.

fileio.stat

stat(path: string): Promise<Stat>

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

NOTE

This API is deprecated since API version 9. Use fs.stat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.

Return value

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

Example

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

fileio.stat

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

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

NOTE

This API is deprecated since API version 9. Use fs.stat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
callbackAsyncCallback<Stat>YesCallback invoked to return the file information obtained.

Example

import { BusinessError } from '@ohos.base';
fileio.stat(pathDir, (err: BusinessError, stat: fileio.Stat) => {
  // Example code in Stat
});

fileio.statSync

statSync(path: string): Stat

Obtains file information. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.statSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.

Return value

TypeDescription
StatFile information obtained.

Example

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

fileio.opendir

opendir(path: string): Promise<Dir>

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

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory to open.

Return value

TypeDescription
Promise<Dir>Promise used to return the Dir object opened.

Example

import { BusinessError } from '@ohos.base';
let dirPath = pathDir + "/testDir";
fileio.opendir(dirPath).then((dir: fileio.Dir) => {
  console.info("opendir succeed");
}).catch((err: BusinessError) => {
  console.info("opendir failed with error:" + err);
});

fileio.opendir

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

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

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory to open.
callbackAsyncCallback<Dir>YesCallback invoked when the directory is open asynchronously.

Example

import { BusinessError } from '@ohos.base';
fileio.opendir(pathDir, (err: BusinessError, dir: fileio.Dir) => {
  // Example code in Dir struct
  // Use read/readSync/close.
});

fileio.opendirSync

opendirSync(path: string): Dir

Opens a directory. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.listFileSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory to open.

Return value

TypeDescription
DirA Dir instance corresponding to the directory.

Example

let dir = fileio.opendirSync(pathDir);
// Example code in Dir struct
// Use read/readSync/close.

fileio.access

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

Checks whether the current process can access a file. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9. Use fs.access instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modenumberNoOptions for accessing the file. You can specify multiple options, separated with a bitwise OR operator (|). The default value is 0.
The options are as follows:
- 0: Check whether the file exists.
- 1: Check whether the process has the execute permission on the file.
- 2: Check whether the process has the write permission on the file.
- 4: Check whether the process has the read permission on the file.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.access(filePath).then(() => {
  console.info("Access successful");
}).catch((err: BusinessError) => {
  console.info("access failed with error:" + err);
});

fileio.access

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

Checks whether the current process can access a file. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9. Use fs.access instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modenumberNoOptions for accessing the file. You can specify multiple options, separated with a bitwise OR operator (|). The default value is 0.
The options are as follows:
- 0: Check whether the file exists.
- 1: Check whether the process has the execute permission on the file.
- 2: Check whether the process has the write permission on the file.
- 4: Check whether the process has the read permission on the file.
callbackAsyncCallback<void>YesCallback invoked when the file is asynchronously checked.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.access(filePath, (err: BusinessError) => {
  // Do something.
});

fileio.accessSync

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

Checks whether the current process can access the specified file. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.accessSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modenumberNoOptions for accessing the file. You can specify multiple options, separated with a bitwise OR operator (|). The default value is 0.
The options are as follows:
- 0: Check whether the file exists.
- 1: Check whether the process has the execute permission on the file.
- 2: Check whether the process has the write permission on the file.
- 4: Check whether the process has the read permission on the file.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
try {
  fileio.accessSync(filePath);
} catch(err: BusinessError) {
  console.info("accessSync failed with error:" + err);
}

fileio.close7+

close(fd: number): Promise<void>

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

NOTE

This API is deprecated since API version 9. Use fs.close instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to close.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.close7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.close instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to close.
callbackAsyncCallback<void>YesCallback invoked immediately after the file is closed.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.close(fd, (err: BusinessError) => {
  // Do something.
});

fileio.closeSync

closeSync(fd: number): void

Closes a file. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.closeSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to close.

Example

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

fileio.copyFile

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

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

NOTE

This API is deprecated since API version 9. Use fs.copyFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
srcstring|numberYesPath or file descriptor of the file to copy.
deststring|numberYesPath or file descriptor of the new file.
modenumberNoWhether 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.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let srcPath = pathDir + "srcDir/test.txt";
let dstPath = pathDir + "dstDir/test.txt";
fileio.copyFile(srcPath, dstPath).then(() => {
  console.info("File copied");
}).catch((err: BusinessError) => {
  console.info("copyFile failed with error:" + err);
});

fileio.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.

NOTE

This API is deprecated since API version 9. Use fs.copyFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
srcstring|numberYesPath or file descriptor of the file to copy.
deststring|numberYesPath or file descriptor of the new file.
modenumberNoWhether 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.
callbackAsyncCallback<void>YesCallback invoked immediately after the file is copied.

Example

import { BusinessError } from '@ohos.base';
let srcPath = pathDir + "srcDir/test.txt";
let dstPath = pathDir + "dstDir/test.txt";
fileio.copyFile(srcPath, dstPath, (err: BusinessError) => {
  // Do something.
});

fileio.copyFileSync

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

Copies a file. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.copyFileSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
srcstring|numberYesPath or file descriptor of the file to copy.
deststring|numberYesPath or file descriptor of the new file.
modenumberNoWhether 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.

Example

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

fileio.mkdir

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

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

NOTE

This API is deprecated since API version 9. Use fs.mkdir instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory.
modenumberNoPermission on the directory to create. You can specify multiple permissions, separated using a bitwise OR operator (|). The default value is 0o775.
- 0o775: The owner has the read, write, and execute permissions, and other users have the read and execute permissions.
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.mkdir

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

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

NOTE

This API is deprecated since API version 9. Use fs.mkdir instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory.
modenumberNoPermission on the directory to create. You can specify multiple permissions, separated using a bitwise OR operator (|). The default value is 0o775.
- 0o775: The owner has the read, write, and execute permissions, and other users have the read and execute permissions.
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.
callbackAsyncCallback<void>YesCallback invoked when the directory is created asynchronously.

Example

import { BusinessError } from '@ohos.base';
let dirPath = pathDir + '/testDir';
fileio.mkdir(dirPath, (err: BusinessError) => {
  console.info("Directory created");
});

fileio.mkdirSync

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

Creates a directory. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.mkdirSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory.
modenumberNoPermission on the directory to create. You can specify multiple permissions, separated using a bitwise OR operator (|). The default value is 0o775.
- 0o775: The owner has the read, write, and execute permissions, and other users have the read and execute permissions.
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Example

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

fileio.open7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.open instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
flagsnumberNoOption for opening the file. You must specify one of the following options. By default, the file is open in read-only mode.
- 0o0: Open the file in read-only mode.
- 0o1: Open the file in write-only mode.
- 0o2: Open the file in read/write mode.
In addition, you can specify the following options, separated using a bitwise OR operator (|). By default, no additional option is specified.
- 0o100: If the file does not exist, create it. If you use this option, you must also specify mode.
- 0o200: If 0o100 is added and the file already exists, throw an exception.
- 0o1000: If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
- 0o2000: Open the file in append mode. New data will be appended to the file (added to the end of the file).
- 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 open file and in subsequent I/Os.
- 0o200000: If path does not point to a directory, throw an exception.

- 0o400000: If path points to a symbolic link, throw an exception.
- 0o4010000: Open the file in synchronous I/O mode.
modenumberNoPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|). The default value is 0o660.
- 0o660: The owner and user group have the read and write permissions.
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Return value

TypeDescription
Promise<number>Promise used to return the file descriptor of the file opened.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.open(filePath, 0o1, 0o0200).then((number: number) => {
  console.info("File opened");
}).catch((err: BusinessError) => {
  console.info("open file failed with error:" + err);
});

fileio.open7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.open instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
flagsnumberNoOption for opening the file. You must specify one of the following options. By default, the file is open in read-only mode.
- 0o0: Open the file in read-only mode.
- 0o1: Open the file in write-only mode.
- 0o2: Open the file in read/write mode.
In addition, you can specify the following options, separated using a bitwise OR operator (|). By default, no additional option is specified.
- 0o100: If the file does not exist, create it. If you use this option, you must also specify mode.
- 0o200: If 0o100 is added and the file already exists, throw an exception.
- 0o1000: If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
- 0o2000: Open the file in append mode. New data will be appended to the file (added to the end of the file).
- 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 open file and in subsequent I/Os.
- 0o200000: If path does not point to a directory, throw an exception.

- 0o400000: If path points to a symbolic link, throw an exception.
- 0o4010000: Open the file in synchronous I/O mode.
modenumberNoPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|). The default value is 0o660.
- 0o660: The owner and user group have the read and write permissions.
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.
callbackAsyncCallback<number>YesCallback invoked when the file is open asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.open(filePath, 0, (err: BusinessError, fd: number) => {
  // Do something.
});

fileio.openSync

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

Opens a file. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.openSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
flagsnumberNoOption for opening the file. You must specify one of the following options. By default, the file is open in read-only mode.
- 0o0: Open the file in read-only mode.
- 0o1: Open the file in write-only mode.
- 0o2: Open the file in read/write mode.
In addition, you can specify the following options, separated using a bitwise OR operator (|). By default, no additional option is specified.
- 0o100: If the file does not exist, create it. If you use this option, you must also specify mode.
- 0o200: If 0o100 is added and the file already exists, throw an exception.
- 0o1000: If the file exists and is open in write-only or read/write mode, truncate the file length to 0.
- 0o2000: Open the file in append mode. New data will be appended to the file (added to the end of the file).
- 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 open file and in subsequent I/Os.
- 0o200000: If path does not point to a directory, throw an exception.

- 0o400000: If path points to a symbolic link, throw an exception.
- 0o4010000: Open the file in synchronous I/O mode.
modenumberNoPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|). The default value is 0o660.
- 0o660: The owner and user group have the read and write permissions.
- 0o640: The owner has the read and write permissions, and the user group has the read permission.
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.
The file permissions on newly created files are affected by umask, which is set as the process starts. Currently, the modification of umask is not open.

Return value

TypeDescription
numberFile descriptor of the file opened.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o102, 0o640);
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o102, 0o666);
fileio.writeSync(fd, 'hello world');
let fd1 = fileio.openSync(filePath, 0o2002);
fileio.writeSync(fd1, 'hello world');
class Option {
  offset: number = 0;
  length: number = 4096;
  position: number = 0;
}
let option = new Option();
option.position = 0;
let buf = new ArrayBuffer(4096)
let num = fileio.readSync(fd1, buf, option);
console.info("num == " + num);

fileio.read

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

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

NOTE

This API is deprecated since API version 9. Use fs.read instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to read.
bufferArrayBufferYesBuffer used to store the file data read.
optionsObjectNoThe options are as follows:
- offset (number): position to store the data read in the buffer in reference to the start address of the buffer. The default value is 0.
- length (number): length of the data to read. The default value is the buffer length minus the offset.
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
Promise<ReadOut>Promise used to return the data read.

Example

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

fileio.read

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

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

NOTE

This API is deprecated since API version 9. Use fs.read instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to read.
bufferArrayBufferYesBuffer used to store the file data read.
optionsObjectNoThe options are as follows:
- offset (number): position to store the data read in the buffer in reference to the start address of the buffer. The default value is 0.
- length (number): length of the data to read. The default value is the buffer length minus the offset.
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
Constraints: offset + length <= Buffer size
callbackAsyncCallback<ReadOut>YesCallback invoked when the data is read asynchronously.

Example

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

fileio.readSync

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

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

NOTE

This API is deprecated since API version 9. Use fs.readSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to read.
bufferArrayBufferYesBuffer used to store the file data read.
optionsObjectNoThe options are as follows:
- offset (number): position to store the data read in the buffer in reference to the start address of the buffer. The default value is 0.
- length (number): length of the data to read. The default value is the buffer length minus the offset.
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
numberLength of the data read.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o2);
let buf = new ArrayBuffer(4096);
let num = fileio.readSync(fd, buf);

fileio.rmdir7+

rmdir(path: string): Promise<void>

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

NOTE

This API is deprecated since API version 9. Use fs.rmdir instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.rmdir7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.rmdir instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory.
callbackAsyncCallback<void>YesCallback invoked when the directory is deleted asynchronously.

Example

import { BusinessError } from '@ohos.base';
let dirPath = pathDir + '/testDir';
fileio.rmdir(dirPath, (err: BusinessError) => {
  // Do something.
  console.info("Directory deleted");
});

fileio.rmdirSync7+

rmdirSync(path: string): void

Deletes a directory. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.rmdirSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the directory.

Example

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

fileio.unlink

unlink(path: string): Promise<void>

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

NOTE

This API is deprecated since API version 9. Use fs.unlink instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.unlink

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

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

NOTE

This API is deprecated since API version 9. Use fs.unlink instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
callbackAsyncCallback<void>YesCallback invoked immediately after the file is deleted.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.unlink(filePath, (err: BusinessError) => {
  console.info("File deleted");
});

fileio.unlinkSync

unlinkSync(path: string): void

Deletes a file. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.unlinkSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.

Example

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

fileio.write

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

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

NOTE

This API is deprecated since API version 9. Use fs.write instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to write.
bufferArrayBuffer|stringYesData to write. It can be a string or data from a buffer.
optionsObjectNoThe options are as follows:
- offset (number): position of the data to write in reference to the start address of the data. The default value is 0.
- length (number): length of the data to write. The default value is the buffer length minus the offset.
- position (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.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
Promise<number>Promise used to return the length of the data written.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o100|0o2, 0o666);
fileio.write(fd, "hello, world").then((number: number) => {
  console.info("write data to file succeed and size is:" + number);
}).catch((err: BusinessError) => {
  console.info("write data to file failed with error:" + err);
});

fileio.write

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

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

NOTE

This API is deprecated since API version 9. Use fs.write instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to write.
bufferArrayBuffer|stringYesData to write. It can be a string or data from a buffer.
optionsObjectNoThe options are as follows:
- offset (number): position of the data to write in reference to the start address of the data. The default value is 0.
- length (number): length of the data to write. The default value is the buffer length minus the offset.
- position (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.
Constraints: offset + length <= Buffer size
callbackAsyncCallback<number>YesCallback invoked when the data is written asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o100|0o2, 0o666);
fileio.write(fd, "hello, world", (err: BusinessError, bytesWritten: number) => {
  if (bytesWritten) {
    console.info("write data to file succeed and size is:" + bytesWritten);
  }
});

fileio.writeSync

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

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

NOTE

This API is deprecated since API version 9. Use fs.writeSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to write.
bufferArrayBuffer|stringYesData to write. It can be a string or data from a buffer.
optionsObjectNoThe options are as follows:
- offset (number): position of the data to write in reference to the start address of the data. The default value is 0.
- length (number): length of the data to write. The default value is the buffer length minus the offset.
- position (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.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
numberLength of the data written in the file.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath, 0o100|0o2, 0o666);
let num = fileio.writeSync(fd, "hello, world");

fileio.hash

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

Calculates the hash value of a file. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9. Use hash.write instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
algorithmstringYesAlgorithm used to calculate the hash value. The value can be md5, sha1, or sha256. sha256 is recommended for security purposes.

Return value

TypeDescription
Promise<string>Promise used to return the hash value obtained. The hash value is a hexadecimal string consisting of digits and uppercase letters.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.hash(filePath, "sha256").then((str: string) => {
  console.info("calculate file hash succeed:" + str);
}).catch((err: BusinessError) => {
  console.info("calculate file hash failed with error:" + err);
});

fileio.hash

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

Calculates the hash value of a file. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9. Use hash.write instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
algorithmstringYesAlgorithm used to calculate the hash value. The value can be md5, sha1, or sha256. sha256 is recommended for security purposes.
callbackAsyncCallback<string>YesCallback used to return the hash value obtained. The hash value is a hexadecimal string consisting of digits and uppercase letters.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.hash(filePath, "sha256", (err: BusinessError, hashStr: string) => {
  if (hashStr) {
    console.info("calculate file hash succeed:" + hashStr);
  }
});

fileio.chmod7+

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

Changes file permissions. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modenumberYesPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|).
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.chmod(filePath, 0o700).then(() => {
  console.info("File permissions changed");
}).catch((err: BusinessError) => {
  console.info("chmod failed with error:" + err);
});

fileio.chmod7+

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

Changes file permissions. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modenumberYesPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|).
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.
callbackAsyncCallback<void>YesCallback invoked when the file permissions are changed asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.chmod(filePath, 0o700, (err: BusinessError) => {
  // Do something.
});

fileio.chmodSync7+

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

Changes file permissions. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modenumberYesPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|).
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Example

let filePath = pathDir + "/test.txt";
fileio.chmodSync(filePath, 0o700);

fileio.fstat7+

fstat(fd: number): Promise<Stat>

Obtains file information based on the file descriptor. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9. Use fs.stat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.

Return value

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

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.fstat(fd).then((stat: fileio.Stat) => {
  console.info("fstat succeed, the size of file is " + stat.size);
}).catch((err: BusinessError) => {
  console.info("fstat failed with error:" + err);
});

fileio.fstat7+

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

Obtains file information based on the file descriptor. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9. Use fs.stat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
callbackAsyncCallback<Stat>YesCallback invoked to return the file information obtained.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.fstat(fd, (err: BusinessError) => {
  // Do something.
});

fileio.fstatSync7+

fstatSync(fd: number): Stat

Obtains file status information based on the file descriptor. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.statSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.

Return value

TypeDescription
StatFile information obtained.

Example

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

fileio.ftruncate7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.truncate instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to truncate.
lennumberNoFile length, in bytes, after truncation.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.ftruncate7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.truncate instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to truncate.
lennumberNoFile length, in bytes, after truncation.
callbackAsyncCallback<void>YesCallback that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let len = 5;
fileio.ftruncate(fd, 5, (err: BusinessError) => {
  // Do something.
});

fileio.ftruncateSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.truncateSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to truncate.
lennumberNoFile length, in bytes, after truncation.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let len = 5;
fileio.ftruncateSync(fd, len);

fileio.truncate7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.truncate instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file to truncate.
lennumberNoFile length, in bytes, after truncation.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.truncate7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.truncate instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file to truncate.
lennumberNoFile length, in bytes, after truncation.
callbackAsyncCallback<void>YesCallback that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let len = 5;
fileio.truncate(filePath, len, (err: BusinessError) => {
  // Do something.
});

fileio.truncateSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.truncateSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file to truncate.
lennumberNoFile length, in bytes, after truncation.

Example

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

fileio.readText7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.readText instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
filePathstringYesApplication sandbox path of the file to read.
optionsObjectNoThe options are as follows:
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. The default value is the buffer length minus the offset.
- encoding (string): format of the data (string) to be encoded. The default value is utf-8, which is the only value supported.

Return value

TypeDescription
Promise<string>Promise used to return the file content read.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.readText(filePath).then((str: string) => {
  console.info("readText succeed:" + str);
}).catch((err: BusinessError) => {
  console.info("readText failed with error:" + err);
});

fileio.readText7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.readText instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
filePathstringYesApplication sandbox path of the file to read.
optionsObjectNoThe options are as follows:
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. The default value is the buffer length minus the offset.
- encoding: format of the data to be encoded. The default value is utf-8, which is the only value supported.
callbackAsyncCallback<string>YesCallback invoked to return the content read.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
class Option {
  length: number = 4096;
  position: number = 0;
  encoding: string = 'utf-8';
}
let option = new Option();
option.position = 1;
option.encoding = 'utf-8';
fileio.readText(filePath, option, (err: BusinessError, str: string) => {
  // Do something.
});

fileio.readTextSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.readTextSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
filePathstringYesApplication sandbox path of the file to read.
optionsObjectNoThe options are as follows:
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
- length (number): length of the data to read. The default value is the buffer length minus the offset.
- encoding (string): format of the data (string) to be encoded. The default value is utf-8, which is the only value supported.

Return value

TypeDescription
stringFile content read.

Example

let filePath = pathDir + "/test.txt";
class Option {
  length: number = 4096;
  position: number = 0;
  encoding: string = 'utf-8';
}
let option = new Option();
option.position = 1;
option.length = 3;
let str = fileio.readTextSync(filePath, option);

fileio.lstat7+

lstat(path: string): Promise<Stat>

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

NOTE

This API is deprecated since API version 9. Use fs.lstat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the target file.

Return value

TypeDescription
Promise<Stat>Promise used to return the symbolic link information obtained. For details, see stat.

Example

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

fileio.lstat7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.lstat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the target file.
callbackAsyncCallback<Stat>YesCallback invoked to return the symbolic link information obtained.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.lstat(filePath, (err: BusinessError, stat: fileio.Stat) => {
  // Do something.
});

fileio.lstatSync7+

lstatSync(path: string): Stat

Obtains the link information. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.lstatSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the target file.

Return value

TypeDescription
StatLink information obtained.

Example

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

fileio.rename7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.rename instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
oldPathstringYesApplication sandbox path of the file to rename.
newPathstringYesApplication sandbox path of the file renamed.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.rename7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.rename instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
oldPathstringYesApplication sandbox path of the file to rename.
newPathstringYesApplication sandbox path of the file renamed.
callbackAsyncCallback<void>YesCallback invoked when the file is asynchronously renamed.

Example

import { BusinessError } from '@ohos.base';
let srcFile = pathDir + "/test.txt";
let dstFile = pathDir + '/new.txt';
fileio.rename(srcFile, dstFile, (err: BusinessError) => {
});

fileio.renameSync7+

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

Renames a file. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.renameSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
oldPathstringYesApplication sandbox path of the file to rename.
newPathstringYesApplication sandbox path of the file renamed.

Example

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

fileio.fsync7+

fsync(fd: number): Promise<void>

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

NOTE

This API is deprecated since API version 9. Use fs.fsync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to flush.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.fsync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.fsync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to flush.
CallbackAsyncCallback<void>YesCallback invoked when the file data is synchronized in asynchronous mode.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.fsync(fd, (err: BusinessError) => {
  // Do something.
});

fileio.fsyncSync7+

fsyncSync(fd: number): void

Flushes data of a file to disk synchronously.

NOTE

This API is deprecated since API version 9. Use fs.fsyncSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to flush.

Example

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

fileio.fdatasync7+

fdatasync(fd: number): Promise<void>

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.

NOTE

This API is deprecated since API version 9. Use fs.fdatasync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to flush.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.fdatasync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.fdatasync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to synchronize.
callbackAsyncCallback<void>YesCallback invoked when the file data is synchronized in asynchronous mode.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.fdatasync (fd, (err: BusinessError) => {
  // Do something.
});

fileio.fdatasyncSync7+

fdatasyncSync(fd: number): void

Synchronizes data in a file synchronously.

NOTE

This API is deprecated since API version 9. Use fs.fdatasyncSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the file to flush.

Example

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

fileio.symlink7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.symlink instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
targetstringYesApplication sandbox path of the target file.
srcPathstringYesApplication sandbox path of the symbolic link.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

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

fileio.symlink7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.symlink instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
targetstringYesApplication sandbox path of the target file.
srcPathstringYesApplication sandbox path of the symbolic link.
callbackAsyncCallback<void>YesCallback invoked when the symbolic link is created asynchronously.

Example

import { BusinessError } from '@ohos.base';
let srcFile = pathDir + "/test.txt";
let dstFile = pathDir + '/test';
fileio.symlink(srcFile, dstFile, (err: BusinessError) => {
  // Do something.
});

fileio.symlinkSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.symlinkSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
targetstringYesApplication sandbox path of the target file.
srcPathstringYesApplication sandbox path of the symbolic link.

Example

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

fileio.chown7+

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

Changes the file owner based on the file path. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
uidnumberYesNew user ID (UID).
gidnumberYesNew group ID (GID).

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let stat = fileio.statSync(filePath);
fileio.chown(filePath, stat.uid, stat.gid).then(() => {
  console.info("File owner changed");
}).catch((err: BusinessError) => {
  console.info("chown failed with error:" + err);
});

fileio.chown7+

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

Changes the file owner based on the file path. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
uidnumberYesNew UID.
gidnumberYesNew GID.
callbackAsyncCallback<void>YesCallback invoked when the file owner is changed asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let stat = fileio.statSync(filePath)
fileio.chown(filePath, stat.uid, stat.gid, (err: BusinessError) => {
  // Do something.
});

fileio.chownSync7+

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

Changes the file owner based on its path. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
uidnumberYesNew UID.
gidnumberYesNew GID.

Example

let filePath = pathDir + "/test.txt";
let stat = fileio.statSync(filePath)
fileio.chownSync(filePath, stat.uid, stat.gid);

fileio.mkdtemp7+

mkdtemp(prefix: string): Promise<string>

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

NOTE

This API is deprecated since API version 9. Use fs.mkdtemp instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
prefixstringYesA randomly generated string used to replace "XXXXXX" in a directory.

Return value

TypeDescription
Promise<string>Promise used to return the unique directory generated.

Example

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

fileio.mkdtemp7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.mkdtemp instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
prefixstringYesA randomly generated string used to replace "XXXXXX" in a directory.
callbackAsyncCallback<string>YesCallback invoked when a temporary directory is created asynchronously.

Example

import { BusinessError } from '@ohos.base';
fileio.mkdtemp(pathDir + "/XXXXXX", (err: BusinessError, res: string) {
  // Do something.
});

fileio.mkdtempSync7+

mkdtempSync(prefix: string): string

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

NOTE

This API is deprecated since API version 9. Use fs.mkdtempSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
prefixstringYesA randomly generated string used to replace "XXXXXX" in a directory.

Return value

TypeDescription
stringUnique path generated.

Example

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

fileio.fchmod7+

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

Changes file permissions based on the file descriptor. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
modenumberYesPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|).
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let mode: number = 0o700;
fileio.fchmod(fd, mode).then(() => {
  console.info("File permissions changed");
}).catch((err: BusinessError) => {
  console.info("chmod failed with error:" + err);
});

fileio.fchmod7+

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

Changes file permissions based on the file descriptor. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
modenumberYesPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|).
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.
callbackAsyncCallback<void>YesCallback invoked when the file permissions are changed asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let mode: number = 0o700;
fileio.fchmod(fd, mode, (err: BusinessError) => {
  // Do something.
});

fileio.fchmodSync7+

fchmodSync(fd: number, mode: number): void

Changes the file permissions based on the file descriptor. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
modenumberYesPermissions on the file. You can specify multiple permissions, separated using a bitwise OR operator (|).
- 0o700: The owner has the read, write, and execute permissions.
- 0o400: The owner has the read permission.
- 0o200: The owner has the write permission.
- 0o100: The owner has the execute permission.
- 0o070: The user group has the read, write, and execute permissions.
- 0o040: The user group has the read permission.
- 0o020: The user group has the write permission.
- 0o010: The user group has the execute permission.
- 0o007: Other users have the read, write, and execute permissions.
- 0o004: Other users have the read permission.
- 0o002: Other users have the write permission.
- 0o001: Other users have the execute permission.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let mode: number = 0o700;
fileio.fchmodSync(fd, mode);

fileio.createStream7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.createStream instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modestringYes- 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

TypeDescription
Promise<Stream>Promise used to return the stream opened.

Example

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

fileio.createStream7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.createStream instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modestringYes- 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).
callbackAsyncCallback<Stream>YesCallback invoked when the stream is created asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fileio.createStream(filePath, "r+", (err: BusinessError, stream: fileio.Stream) {
  // Do something.
});

fileio.createStreamSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.createStreamSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
modestringYes- 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

TypeDescription
StreamStream created.

Example

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

fileio.fdopenStream7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.fdopenStream instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
modestringYes- 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

TypeDescription
Promise<Stream>Promise used to return the stream opened.

Example

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

fileio.fdopenStream7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.fdopenStream instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
modestringYes- 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).
callbackAsyncCallback<Stream>YesCallback invoked when the stream is open asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
fileio.fdopenStream(fd, "r+", (err: BusinessError, stream: fileio.Stream) => {
  // Do something.
});

fileio.fdopenStreamSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.fdopenStreamSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
modestringYes- 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

TypeDescription
StreamStream opened.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let ss = fileio.fdopenStreamSync(fd, "r+");

fileio.fchown7+

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

Changes the file owner based on the file descriptor. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
uidnumberYesNew UID.
gidnumberYesNew GID.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let stat = fileio.statSync(filePath);
fileio.fchown(fd, stat.uid, stat.gid).then(() => {
  console.info("File owner changed");
}).catch((err: BusinessError) => {
  console.info("chown failed with error:" + err);
});

fileio.fchown7+

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

Changes the file owner based on the file descriptor. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
uidnumberYesNew UID.
gidnumberYesNew GID.
callbackAsyncCallback<void>YesCallback invoked when the file owner is changed asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let stat = fileio.statSync(filePath);
fileio.fchown(fd, stat.uid, stat.gid, (err: BusinessError) => {
  // Do something.
});

fileio.fchownSync7+

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

Changes the file owner based on the file descriptor. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
fdnumberYesFile descriptor of the target file.
uidnumberYesNew UID.
gidnumberYesNew GID.

Example

let filePath = pathDir + "/test.txt";
let fd = fileio.openSync(filePath);
let stat = fileio.statSync(filePath);
fileio.fchownSync(fd, stat.uid, stat.gid);

fileio.lchown7+

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

Changes the file owner (owner of the symbolic link, not the file referred to by the symbolic link) based on the file path. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
uidnumberYesNew UID.
gidnumberYesNew GID.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let stat = fileio.statSync(filePath);
fileio.lchown(filePath, stat.uid, stat.gid).then(() => {
  console.info("File owner changed");
}).catch((err: BusinessError) => {
  console.info("chown failed with error:" + err);
});

fileio.lchown7+

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

Changes the file owner (owner of the symbolic link, not the file referred to by the symbolic link) based on the file path. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
uidnumberYesNew UID.
gidnumberYesNew GID.
callbackAsyncCallback<void>YesCallback invoked when the file owner is changed asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let stat = fileio.statSync(filePath);
fileio.lchown(filePath, stat.uid, stat.gid, (err: BusinessError) => {
  // Do something.
});

fileio.lchownSync7+

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

Changes the file owner based on the file path and changes the owner of the symbolic link (not the referenced file). This API returns the result synchronously.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesApplication sandbox path of the file.
uidnumberYesNew UID.
gidnumberYesNew GID.

Example

let filePath = pathDir + "/test.txt";
let stat = fileio.statSync(filePath);
fileio.lchownSync(filePath, stat.uid, stat.gid);

fileio.createWatcher7+

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

Listens for file or directory changes. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
filePathstringYesApplication sandbox path of the file.
eventsnumberYes- 1: The file or directory is renamed.
- 2: The file or directory is modified.
- 3: The file or directory is modified and renamed.
callbackAsyncCallback<number>YesCalled each time a change is detected.

Return value

TypeDescription
WatcherPromise used to return the Watcher instance.

Example

let filePath = pathDir +"/test.txt";
fileio.createWatcher(filePath, 1, (number: number) => {
  console.info("Monitoring times: " + number);
});

Readout

Obtains the file read result. This class applies only to the read() method.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

NameTypeReadableWritableDescription
bytesReadnumberYesYesLength of the data read.
offsetnumberYesYesPosition of the buffer to which the data will be read in reference to the start address of the buffer.
bufferArrayBufferYesYesBuffer for storing the data read.

Stat

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

NOTE

This API is deprecated since API version 9. Use fs.Stat instead.

System capability: SystemCapability.FileManagement.File.FileIO

Attributes

NameTypeReadableWritableDescription
devnumberYesNoMajor device number.
inonumberYesNoFile ID. Different files on the same device have different inos.
modenumberYesNoFile type and permissions. The first four bits indicate the file type, and the last 12 bits indicate the permissions. The bit fields are described as follows:
- 0o170000: mask used to obtain the file type.
- 0o140000: The file is a socket.
- 0o120000: The file is a symbolic link.
- 0o100000: The file is a regular file.
- 0o060000: The file is a block device.
- 0o040000: The file is a directory.
- 0o020000: The file is a character device.
- 0o010000: The file is a named pipe (FIFO).
- 0o0700: mask used to obtain the owner permissions.
- 0o0400: The owner has the permission to read a regular file or a directory entry.
- 0o0200: The owner has the permission to write a regular file or create and delete a directory entry.
- 0o0100: The owner has the permission to execute a regular file or search for the specified path in a directory.
- 0o0070: mask used to obtain the user group permissions.
- 0o0040: The user group has the permission to read a regular file or a directory entry.
- 0o0020: The user group has the permission to write a regular file or create and delete a directory entry.
- 0o0010: The user group has the permission to execute a regular file or search for the specified path in a directory.
- 0o0007: mask used to obtain the permissions of other users.
- 0o0004: Other users have the permission to read a regular file or a directory entry.
- 0o0002: Other users have the permission to write a regular file or create and delete a directory entry.
- 0o0001: Other users have the permission to execute a regular file or search for the specified path in a directory.
nlinknumberYesNoNumber of hard links in the file.
uidnumberYesNoUser ID, that is ID of the file owner.
gidnumberYesNoGroup ID, that is, ID of the user group of the file.
rdevnumberYesNoMinor device number.
sizenumberYesNoFile size, in bytes. This parameter is valid only for regular files.
blocksnumberYesNoNumber of blocks occupied by a file. Each block is 512 bytes.
atimenumberYesNoTime of the last access to the file. The value is the number of seconds elapsed since 00:00:00 on January 1, 1970.
mtimenumberYesNoTime of the last modification to the file. The value is the number of seconds elapsed since 00:00:00 on January 1, 1970.
ctimenumberYesNoTime 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.

NOTE

This API is deprecated since API version 9. Use fs.Stat.isBlockDevice instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is a block special file.

Example

let filePath = pathDir + "/test.txt";
let isBLockDevice = fileio.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.

NOTE

This API is deprecated since API version 9. Use fs.Stat.isCharacterDevice instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is a character special file.

Example

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

isDirectory

isDirectory(): boolean

Checks whether this file is a directory.

NOTE

This API is deprecated since API version 9. Use fs.Stat.isDirectory instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is a directory.

Example

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

isFIFO

isFIFO(): boolean

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

NOTE

This API is deprecated since API version 9. Use fs.Stat.isFIFO instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is an FIFO.

Example

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

isFile

isFile(): boolean

Checks whether this file is a regular file.

NOTE

This API is deprecated since API version 9. Use fs.Stat.isFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is a regular file.

Example

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

isSocket

isSocket(): boolean

Checks whether this file is a socket.

NOTE

This API is deprecated since API version 9. Use fs.Stat.isSocket instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is a socket.

Example

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

isSymbolicLink

isSymbolicLink(): boolean

Checks whether this file is a symbolic link.

NOTE

This API is deprecated since API version 9. Use fs.Stat.isSymbolicLink instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the file is a symbolic link.

Example

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

Watcher7+

Listens for the changes of a file. You can call the Watcher.stop() method synchronously or asynchronously to stop the listening.

stop7+

stop(): Promise<void>

Stops the watcher instance. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Example

let filePath = path + "/test.txt";
let watcher = fileio.createWatcher(filePath, 1, (number: number) => {
  console.info("Monitoring times: " + number);
});
watcher.stop().then(() => {
  console.info("Watcher stopped");
});

stop7+

stop(callback: AsyncCallback<void>): void

Stops the watcher instance. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback invoked when watcher is stopped asynchronously.

Example

let filePath = path +"/test.txt";
let watcher = fileio.createWatcher(filePath, 1, (number: number) => {
  console.info("Monitoring times: " + number);
});
watcher.stop(() => {
  console.info("Watcher stopped");
})

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.

NOTE

This API is deprecated since API version 9. Use fs.Stream instead.

close7+

close(): Promise<void>

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.close instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
Promise<void>Promise used to return the result.

Example

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

close7+

close(callback: AsyncCallback<void>): void

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.close instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback invoked immediately after the stream is closed.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let ss = fileio.createStreamSync(filePath, "r+");
ss.close((err: BusinessError) => {
  // Do something.
});

closeSync

closeSync(): void

Closes the stream. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.Stream.closeSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Example

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

flush7+

flush(): Promise<void>

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.flush instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
Promise<void>Promise used to return the result.

Example

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

flush7+

flush(callback: AsyncCallback<void>): void

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.flush instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback invoked when the stream is asynchronously flushed.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let ss = fileio.createStreamSync(filePath, "r+");
ss.flush((err: BusinessError) => {
  // Do something.
});

flushSync7+

flushSync(): void

Flushes the stream. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.Stream.flushSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Example

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

write7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.write instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
bufferArrayBuffer|stringYesData to write. It can be a string or data from a buffer.
optionsObjectNoThe options are as follows:
- offset (number): position of the data to write in reference to the start address of the data. This parameter is optional. The default value is 0.
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length minus the offset.
- position (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.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
Promise<number>Promise used to return the length of the data written.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let ss = fileio.createStreamSync(filePath, "r+");
class Option {
  offset: number = 0;
  length: number = 4096;
  position: number = 0;
  encoding: string = 'utf-8';
}
let option = new Option();
option.offset = 1;
option.length = 5;
option.position = 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:" + err);
});

write7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.write instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
bufferArrayBuffer|stringYesData to write. It can be a string or data from a buffer.
optionsObjectNoThe options are as follows:
- offset (number): position of the data to write in reference to the start address of the data. This parameter is optional. The default value is 0.
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length minus the offset.
- position (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.
Constraints: offset + length <= Buffer size
callbackAsyncCallback<number>YesCallback invoked when the data is written asynchronously.

Example

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
let ss = fileio.createStreamSync(filePath, "r+");
class Option {
  offset: number = 0;
  length: number = 4096;
  position: number = 0;
  encoding: string = 'utf-8';
}
let option = new Option();
option.offset = 1;
option.length = 5;
option.position = 5;
ss.write("hello, world", option, (err: BusinessError, bytesWritten: number) => {
  if (bytesWritten) {
    // Do something.
    console.info("write succeed and size is:" + bytesWritten);
  }
});

writeSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.writeSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
bufferArrayBuffer|stringYesData to write. It can be a string or data from a buffer.
optionsObjectNoThe options are as follows:
- offset (number): position of the data to write in reference to the start address of the data. This parameter is optional. The default value is 0.
- length (number): length of the data to write. This parameter is optional. The default value is the buffer length minus the offset.
- position (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.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
numberLength of the data written in the file.

Example

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

read7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.read instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
bufferArrayBufferYesBuffer used to store the file read.
optionsObjectNoThe options are as follows:
- offset (number): position to store the data read in the buffer in reference to the start address of the buffer. This parameter is optional. The default value is 0.
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length minus the offset.
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
Promise<ReadOut>Promise used to return the data read.

Example

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

read7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.read instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
bufferArrayBufferYesBuffer used to store the file read.
optionsObjectNoThe options are as follows:
- offset (number): position to store the data read in the buffer in reference to the start address of the buffer. This parameter is optional. The default value is 0.
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length minus the offset.
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
Constraints: offset + length <= Buffer size
callbackAsyncCallback<ReadOut>YesCallback invoked when data is read asynchronously from the stream.

Example

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

readSync7+

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

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

NOTE

This API is deprecated since API version 9. Use fs.Stream.readSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
bufferArrayBufferYesBuffer used to store the file read.
optionsObjectNoThe options are as follows:
- offset (number): position to store the data read in the buffer in reference to the start address of the buffer. This parameter is optional. The default value is 0.
- length (number): length of the data to read. This parameter is optional. The default value is the buffer length minus the offset.
- position (number): position of the data to read in the file. This parameter is optional. By default, data is read from the current position.
Constraints: offset + length <= Buffer size

Return value

TypeDescription
numberLength of the data read.

Example

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

Dir

Manages directories. Before calling a method of the Dir class, use the opendir() method synchronously or asynchronously to create a Dir instance.

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

read

read(): Promise<Dirent>

Reads the next directory entry. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
Promise<Dirent>Promise used to return the directory entry read.

Example

import { BusinessError } from '@ohos.base';
dir.read().then((dirent: fileio.Dirent) => {
  console.log("read succeed, the name of dirent is " + dirent.name);
}).catch((err: BusinessError) => {
  console.info("read failed with error:" + err);
});

read

read(callback: AsyncCallback<Dirent>): void

Reads the next directory entry. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Dirent>YesCallback invoked when the next directory entry is asynchronously read.

Example

import { BusinessError } from '@ohos.base';
dir.read((err: BusinessError, dirent: fileio.Dirent) {
  if (dirent) {
    // Do something.
    console.log("read succeed, the name of file is " + dirent.name);
  }
});

readSync

readSync(): Dirent

Reads the next directory entry. This API returns the result synchronously.

NOTE

This API is deprecated since API version 9. Use fs.listFileSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
DirentDirectory entry read.

Example

let dirent = dir.readSync();

close7+

close(): Promise<void>

Closes a directory. This API uses a promise to return the result. After a directory is closed, the file descriptor in Dir will be released and no directory entry can be read from Dir.

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Example

import { BusinessError } from '@ohos.base';
dir.close().then((err: BusinessError) => {
  console.info("close dir successfully");
});

close7+

close(callback: AsyncCallback<void>): void

Closes a directory. This API uses an asynchronous callback to return the result. After a directory is closed, the file descriptor in Dir will be released and no directory entry can be read from Dir.

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Example

import { BusinessError } from '@ohos.base';
dir.close((err: BusinessError) => {
  console.info("close dir successfully");
});

closeSync

closeSync(): void

Closes a directory. After a directory is closed, the file descriptor in Dir will be released and no directory entry can be read from Dir.

NOTE

This API is deprecated since API version 9. Use fs.listFileSync instead.

System capability: SystemCapability.FileManagement.File.FileIO

Example

dir.closeSync();

Dirent

Provides information about files and directories. Before calling a method of the Dirent class, use the dir.read() method synchronously or asynchronously to create a Dirent instance.

NOTE

This API is deprecated since API version 9. Use fs.listFile instead.

System capability: SystemCapability.FileManagement.File.FileIO

Attributes

NameTypeReadableWritableDescription
namestringYesNoDirectory entry name.

isBlockDevice

isBlockDevice(): boolean

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

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a block special file.

Example

let dir = fileio.opendirSync(pathDir);
let isBLockDevice = dir.readSync().isBlockDevice();

isCharacterDevice

isCharacterDevice(): boolean

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

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a character special file.

Example

let dir = fileio.opendirSync(pathDir);
let isCharacterDevice = dir.readSync().isCharacterDevice(); 

isDirectory

isDirectory(): boolean

Checks whether a directory entry is a directory.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a directory.

Example

let dir = fileio.opendirSync(pathDir);
let isDirectory = dir.readSync().isDirectory(); 

isFIFO

isFIFO(): boolean

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

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a FIFO.

Example

let dir = fileio.opendirSync(pathDir);
let isFIFO = dir.readSync().isFIFO(); 

isFile

isFile(): boolean

Checks whether a directory entry is a regular file.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a regular file.

Example

let dir = fileio.opendirSync(pathDir);
let isFile = dir.readSync().isFile(); 

isSocket

isSocket(): boolean

Checks whether a directory entry is a socket.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a socket.

Example

let dir = fileio.opendirSync(pathDir);
let isSocket = dir.readSync().isSocket(); 

isSymbolicLink

isSymbolicLink(): boolean

Checks whether a directory entry is a symbolic link.

NOTE

This API is deprecated since API version 9.

System capability: SystemCapability.FileManagement.File.FileIO

Return value

TypeDescription
booleanWhether the directory entry is a symbolic link.

Example

let dir = fileio.opendirSync(pathDir);
let isSymbolicLink = dir.readSync().isSymbolicLink();

你可能感兴趣的鸿蒙文章

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)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/508b5907675744efb1bf11db5a0f93ba