FileSystemWritableFileStream: seek()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die seek()-Methode der FileSystemWritableFileStream-Schnittstelle aktualisiert den aktuellen Dateicurser-Offset auf die beim Aufruf der Methode angegebene Position (in Byte).

Syntax

js
seek(position)

Parameter

position

Eine Zahl, die die Byte-Position vom Anfang der Datei angibt.

Rückgabewert

Ein Promise, das undefined zurückgibt.

Ausnahmen

NotAllowedError DOMException

Wird ausgelöst, wenn PermissionStatus.state nicht granted ist.

TypeError

Wird ausgelöst, wenn position keine Zahl ist oder nicht definiert wurde.

Beispiele

Die folgende asynchrone Funktion öffnet den 'Datei speichern'-Auswahldialog, der ein FileSystemFileHandle zurückgibt, sobald eine Datei ausgewählt wurde. Daraus wird mit der Methode FileSystemFileHandle.createWritable() ein beschreibbarer Stream erstellt.

Anschließend schreiben wir in den Stream:

  1. Eine Textzeichenfolge wird in den Stream geschrieben.
  2. Die seek()-Methode wird verwendet, um den Cursor an den Anfang des Streams zu setzen.
  3. Eine zweite Textzeichenfolge wird an den Anfang des Streams geschrieben und überschreibt das erste Schreiben.

Der Stream wird dann geschlossen.

js
async function saveFile() {
  try {
    // create a new handle
    const newHandle = await window.showSaveFilePicker();

    // create a FileSystemWritableFileStream to write to
    const writableStream = await newHandle.createWritable();

    // write our file
    await writableStream.write("My first file content");
    await writableStream.seek(0);
    await writableStream.write("My second file content");

    // close the file and write the contents to disk.
    await writableStream.close();
  } catch (err) {
    console.error(err.name, err.message);
  }
}

Wenn Sie die obige Funktion ausführen und dann die auf der Festplatte erstellte Datei öffnen, sollten Sie den Text "My second file content" sehen.

Spezifikationen

Specification
File System Standard
# api-filesystemwritablefilestream-seek

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch