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: Diese Funktion ist in Web Workers verfügbar.
Die seek()
-Methode der FileSystemWritableFileStream
-Schnittstelle aktualisiert den aktuellen Dateicurser-Offset auf die beim Aufruf der Methode angegebene Position (in Byte).
Syntax
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
nichtgranted
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:
- Eine Textzeichenfolge wird in den Stream geschrieben.
- Die
seek()
-Methode wird verwendet, um den Cursor an den Anfang des Streams zu setzen. - Eine zweite Textzeichenfolge wird an den Anfang des Streams geschrieben und überschreibt das erste Schreiben.
Der Stream wird dann geschlossen.
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