@haxall/haxall
    Preparing search index...
    interface FileHandle {
        fd: number;
        "[asyncDispose]"(): Promise<void>;
        appendFile(
            data: string | Uint8Array<ArrayBufferLike>,
            options?: BufferEncoding | ObjectEncodingOptions & Abortable,
        ): Promise<void>;
        chmod(mode: Mode): Promise<void>;
        chown(uid: number, gid: number): Promise<void>;
        close(): Promise<void>;
        createReadStream(options?: CreateReadStreamOptions): ReadStream;
        createWriteStream(options?: CreateWriteStreamOptions): WriteStream;
        datasync(): Promise<void>;
        read<T extends ArrayBufferView<ArrayBufferLike>>(
            buffer: T,
            offset?: number,
            length?: number,
            position?: number,
        ): Promise<FileReadResult<T>>;
        read<T extends ArrayBufferView<ArrayBufferLike> = Buffer<ArrayBufferLike>>(
            buffer: T,
            options?: FileReadOptions<T>,
        ): Promise<FileReadResult<T>>;
        read<T extends ArrayBufferView<ArrayBufferLike> = Buffer<ArrayBufferLike>>(
            options?: FileReadOptions<T>,
        ): Promise<FileReadResult<T>>;
        readableWebStream(): ReadableStream;
        readFile(
            options?: { encoding?: null } & Abortable,
        ): Promise<Buffer<ArrayBufferLike>>;
        readFile(
            options: BufferEncoding | { encoding: BufferEncoding } & Abortable,
        ): Promise<string>;
        readFile(
            options?: BufferEncoding | ObjectEncodingOptions & Abortable,
        ): Promise<string | Buffer<ArrayBufferLike>>;
        readLines(options?: CreateReadStreamOptions): Interface;
        readv(
            buffers: readonly ArrayBufferView<ArrayBufferLike>[],
            position?: number,
        ): Promise<ReadVResult>;
        stat(opts?: StatOptions & { bigint?: false }): Promise<Stats>;
        stat(opts: StatOptions & { bigint: true }): Promise<BigIntStats>;
        stat(opts?: StatOptions): Promise<Stats | BigIntStats>;
        sync(): Promise<void>;
        truncate(len?: number): Promise<void>;
        utimes(atime: TimeLike, mtime: TimeLike): Promise<void>;
        write<TBuffer extends Uint8Array<ArrayBufferLike>>(
            buffer: TBuffer,
            offset?: number,
            length?: number,
            position?: number,
        ): Promise<{ buffer: TBuffer; bytesWritten: number }>;
        write<TBuffer extends Uint8Array<ArrayBufferLike>>(
            buffer: TBuffer,
            options?: { length?: number; offset?: number; position?: number },
        ): Promise<{ buffer: TBuffer; bytesWritten: number }>;
        write(
            data: string,
            position?: number,
            encoding?: BufferEncoding,
        ): Promise<{ buffer: string; bytesWritten: number }>;
        writeFile(
            data: string | Uint8Array<ArrayBufferLike>,
            options?: BufferEncoding | ObjectEncodingOptions & Abortable,
        ): Promise<void>;
        writev(
            buffers: readonly ArrayBufferView<ArrayBufferLike>[],
            position?: number,
        ): Promise<WriteVResult>;
    }
    Index

    Properties

    fd: number

    The numeric file descriptor managed by the {FileHandle} object.

    v10.0.0

    Methods

    • An alias for ().

      Returns Promise<void>

      v20.4.0

    • Alias of filehandle.writeFile().

      When operating on file handles, the mode cannot be changed from what it was set to with fsPromises.open(). Therefore, this is equivalent to filehandle.writeFile().

      Parameters

      • data: string | Uint8Array<ArrayBufferLike>
      • Optionaloptions: BufferEncoding | ObjectEncodingOptions & Abortable

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Modifies the permissions on the file. See chmod(2).

      Parameters

      • mode: Mode

        the file mode bit mask.

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Changes the ownership of the file. A wrapper for chown(2).

      Parameters

      • uid: number

        The file's new owner's user id.

      • gid: number

        The file's new group's group id.

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Closes the file handle after waiting for any pending operation on the handle to complete.

      import { open } from 'node:fs/promises';

      let filehandle;
      try {
      filehandle = await open('thefile.txt', 'r');
      } finally {
      await filehandle?.close();
      }

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Unlike the 16 KiB default highWaterMark for a stream.Readable, the stream returned by this method has a default highWaterMark of 64 KiB.

      options can include start and end values to read a range of bytes from the file instead of the entire file. Both start and end are inclusive and start counting at 0, allowed values are in the [0, Number.MAX_SAFE_INTEGER] range. If start is omitted or undefined, filehandle.createReadStream() reads sequentially from the current file position. The encoding can be any one of those accepted by Buffer.

      If the FileHandle points to a character device that only supports blocking reads (such as keyboard or sound card), read operations do not finish until data is available. This can prevent the process from exiting and the stream from closing naturally.

      By default, the stream will emit a 'close' event after it has been destroyed. Set the emitClose option to false to change this behavior.

      import { open } from 'node:fs/promises';

      const fd = await open('/dev/input/event0');
      // Create a stream from some character device.
      const stream = fd.createReadStream();
      setTimeout(() => {
      stream.close(); // This may not close the stream.
      // Artificially marking end-of-stream, as if the underlying resource had
      // indicated end-of-file by itself, allows the stream to close.
      // This does not cancel pending read operations, and if there is such an
      // operation, the process may still not be able to exit successfully
      // until it finishes.
      stream.push(null);
      stream.read(0);
      }, 100);

      If autoClose is false, then the file descriptor won't be closed, even if there's an error. It is the application's responsibility to close it and make sure there's no file descriptor leak. If autoClose is set to true (default behavior), on 'error' or 'end' the file descriptor will be closed automatically.

      An example to read the last 10 bytes of a file which is 100 bytes long:

      import { open } from 'node:fs/promises';

      const fd = await open('sample.txt');
      fd.createReadStream({ start: 90, end: 99 });

      Parameters

      Returns ReadStream

      v16.11.0

    • options may also include a start option to allow writing data at some position past the beginning of the file, allowed values are in the [0, Number.MAX_SAFE_INTEGER] range. Modifying a file rather than replacing it may require the flags open option to be set to r+ rather than the default r. The encoding can be any one of those accepted by Buffer.

      If autoClose is set to true (default behavior) on 'error' or 'finish' the file descriptor will be closed automatically. If autoClose is false, then the file descriptor won't be closed, even if there's an error. It is the application's responsibility to close it and make sure there's no file descriptor leak.

      By default, the stream will emit a 'close' event after it has been destroyed. Set the emitClose option to false to change this behavior.

      Parameters

      Returns WriteStream

      v16.11.0

    • Forces all currently queued I/O operations associated with the file to the operating system's synchronized I/O completion state. Refer to the POSIX fdatasync(2) documentation for details.

      Unlike filehandle.sync this method does not flush modified metadata.

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Reads data from the file and stores that in the given buffer.

      If the file is not modified concurrently, the end-of-file is reached when the number of bytes read is zero.

      Type Parameters

      • T extends ArrayBufferView<ArrayBufferLike>

      Parameters

      • buffer: T

        A buffer that will be filled with the file data read.

      • Optionaloffset: number

        The location in the buffer at which to start filling.

      • Optionallength: number

        The number of bytes to read.

      • Optionalposition: number

        The location where to begin reading data from the file. If null, data will be read from the current file position, and the position will be updated. If position is an integer, the current file position will remain unchanged.

      Returns Promise<FileReadResult<T>>

      Fulfills upon success with an object with two properties:

      v10.0.0

    • Type Parameters

      • T extends ArrayBufferView<ArrayBufferLike> = Buffer<ArrayBufferLike>

      Parameters

      Returns Promise<FileReadResult<T>>

    • Type Parameters

      • T extends ArrayBufferView<ArrayBufferLike> = Buffer<ArrayBufferLike>

      Parameters

      Returns Promise<FileReadResult<T>>

    • Experimental

      Returns a byte-oriented ReadableStream that may be used to read the file's contents.

      An error will be thrown if this method is called more than once or is called after the FileHandle is closed or closing.

      import {
      open,
      } from 'node:fs/promises';

      const file = await open('./some/file/to/read');

      for await (const chunk of file.readableWebStream())
      console.log(chunk);

      await file.close();

      While the ReadableStream will read the file to completion, it will not close the FileHandle automatically. User code must still call thefileHandle.close() method.

      Returns ReadableStream

      v17.0.0

    • Asynchronously reads the entire contents of a file.

      If options is a string, then it specifies the encoding.

      The FileHandle has to support reading.

      If one or more filehandle.read() calls are made on a file handle and then a filehandle.readFile() call is made, the data will be read from the current position till the end of the file. It doesn't always read from the beginning of the file.

      Parameters

      • Optionaloptions: { encoding?: null } & Abortable

      Returns Promise<Buffer<ArrayBufferLike>>

      Fulfills upon a successful read with the contents of the file. If no encoding is specified (using options.encoding), the data is returned as a {Buffer} object. Otherwise, the data will be a string.

      v10.0.0

    • Asynchronously reads the entire contents of a file. The underlying file will not be closed automatically. The FileHandle must have been opened for reading.

      Parameters

      • options: BufferEncoding | { encoding: BufferEncoding } & Abortable

      Returns Promise<string>

    • Asynchronously reads the entire contents of a file. The underlying file will not be closed automatically. The FileHandle must have been opened for reading.

      Parameters

      Returns Promise<string | Buffer<ArrayBufferLike>>

    • Convenience method to create a readline interface and stream over the file. See filehandle.createReadStream() for the options.

      import { open } from 'node:fs/promises';

      const file = await open('./some/file/to/read');

      for await (const line of file.readLines()) {
      console.log(line);
      }

      Parameters

      Returns Interface

      v18.11.0

    • Read from a file and write to an array of ArrayBufferView s

      Parameters

      • buffers: readonly ArrayBufferView<ArrayBufferLike>[]
      • Optionalposition: number

        The offset from the beginning of the file where the data should be read from. If position is not a number, the data will be read from the current position.

      Returns Promise<ReadVResult>

      Fulfills upon success an object containing two properties:

      v13.13.0, v12.17.0

    • Request that all data for the open file descriptor is flushed to the storage device. The specific implementation is operating system and device specific. Refer to the POSIX fsync(2) documentation for more detail.

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Truncates the file.

      If the file was larger than len bytes, only the first len bytes will be retained in the file.

      The following example retains only the first four bytes of the file:

      import { open } from 'node:fs/promises';

      let filehandle = null;
      try {
      filehandle = await open('temp.txt', 'r+');
      await filehandle.truncate(4);
      } finally {
      await filehandle?.close();
      }

      If the file previously was shorter than len bytes, it is extended, and the extended part is filled with null bytes ('\0'):

      If len is negative then 0 will be used.

      Parameters

      • Optionallen: number

      Returns Promise<void>

      Fulfills with undefined upon success.

      v10.0.0

    • Change the file system timestamps of the object referenced by the FileHandle then fulfills the promise with no arguments upon success.

      Parameters

      Returns Promise<void>

      v10.0.0

    • Write buffer to the file.

      The promise is fulfilled with an object containing two properties:

      It is unsafe to use filehandle.write() multiple times on the same file without waiting for the promise to be fulfilled (or rejected). For this scenario, use filehandle.createWriteStream().

      On Linux, positional writes do not work when the file is opened in append mode. The kernel ignores the position argument and always appends the data to the end of the file.

      Type Parameters

      • TBuffer extends Uint8Array<ArrayBufferLike>

      Parameters

      • buffer: TBuffer
      • Optionaloffset: number

        The start position from within buffer where the data to write begins.

      • Optionallength: number

        The number of bytes from buffer to write.

      • Optionalposition: number

        The offset from the beginning of the file where the data from buffer should be written. If position is not a number, the data will be written at the current position. See the POSIX pwrite(2) documentation for more detail.

      Returns Promise<{ buffer: TBuffer; bytesWritten: number }>

      v10.0.0

    • Type Parameters

      • TBuffer extends Uint8Array<ArrayBufferLike>

      Parameters

      • buffer: TBuffer
      • Optionaloptions: { length?: number; offset?: number; position?: number }

      Returns Promise<{ buffer: TBuffer; bytesWritten: number }>

    • Parameters

      • data: string
      • Optionalposition: number
      • Optionalencoding: BufferEncoding

      Returns Promise<{ buffer: string; bytesWritten: number }>

    • Asynchronously writes data to a file, replacing the file if it already exists. data can be a string, a buffer, an AsyncIterable, or an Iterable object. The promise is fulfilled with no arguments upon success.

      If options is a string, then it specifies the encoding.

      The FileHandle has to support writing.

      It is unsafe to use filehandle.writeFile() multiple times on the same file without waiting for the promise to be fulfilled (or rejected).

      If one or more filehandle.write() calls are made on a file handle and then afilehandle.writeFile() call is made, the data will be written from the current position till the end of the file. It doesn't always write from the beginning of the file.

      Parameters

      • data: string | Uint8Array<ArrayBufferLike>
      • Optionaloptions: BufferEncoding | ObjectEncodingOptions & Abortable

      Returns Promise<void>

      v10.0.0

    • Write an array of ArrayBufferView s to the file.

      The promise is fulfilled with an object containing a two properties:

      It is unsafe to call writev() multiple times on the same file without waiting for the promise to be fulfilled (or rejected).

      On Linux, positional writes don't work when the file is opened in append mode. The kernel ignores the position argument and always appends the data to the end of the file.

      Parameters

      • buffers: readonly ArrayBufferView<ArrayBufferLike>[]
      • Optionalposition: number

        The offset from the beginning of the file where the data from buffers should be written. If position is not a number, the data will be written at the current position.

      Returns Promise<WriteVResult>

      v12.9.0