Baseline 2023
Newly available
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist nur in Dedicated Web Workers verfügbar.
Die read()
-Methode der FileSystemSyncAccessHandle
-Schnittstelle liest den Inhalt der Datei, die mit dem Handle verknüpft ist, in einen angegebenen Puffer, optional an einem bestimmten Offset.
buffer
Ein ArrayBuffer
oder ArrayBufferView
(wie ein DataView
), der den Puffer darstellt, in den der Dateiinhalte gelesen werden soll. Beachten Sie, dass Sie die Inhalte eines ArrayBuffer
nicht direkt manipulieren können. Stattdessen erstellen Sie eines der typisierten Array-Objekte wie ein Int8Array
oder ein DataView
-Objekt, das den Puffer in einem bestimmten Format darstellt, und verwenden dieses, um die Inhalte des Puffers zu lesen und zu schreiben.
options
Optional
Ein Optionsobjekt, das die folgenden Eigenschaften enthält:
at
Eine Zahl, die den Offset in Bytes darstellt, ab dem die Datei gelesen werden soll.
Eine Zahl, die die Anzahl der Bytes darstellt, die aus der Datei gelesen wurden.
AusnahmenInvalidStateError
DOMException
Wird ausgelöst, wenn das zugehörige Zugriffshandle bereits geschlossen ist.
TypeError
Wird ausgelöst, wenn das zugrunde liegende Dateisystem das Lesen der Datei ab dem angegebenen Dateioffset nicht unterstützt.
Die folgende asynchrone Ereignis-Handler-Funktion befindet sich in einem Web Worker. Beim Empfang einer Nachricht vom Haupt-Thread:
ArrayBuffer
, um diese zu enthalten.onmessage = async (e) => {
// Retrieve message sent to work from main script
const message = e.data;
// Get handle to draft file
const root = await navigator.storage.getDirectory();
const draftHandle = await root.getFileHandle("draft.txt", { create: true });
// Get sync access handle
const accessHandle = await draftHandle.createSyncAccessHandle();
// Get size of the file.
const fileSize = accessHandle.getSize();
// Read file content to a buffer.
const buffer = new DataView(new ArrayBuffer(fileSize));
const readBuffer = accessHandle.read(buffer, { at: 0 });
// Write the message to the end of the file.
const encoder = new TextEncoder();
const encodedMessage = encoder.encode(message);
const writeBuffer = accessHandle.write(encodedMessage, { at: readBuffer });
// Persist changes to disk.
accessHandle.flush();
// Always close FileSystemSyncAccessHandle if done.
accessHandle.close();
};
Hinweis: In früheren Versionen der Spezifikation waren close()
, flush()
, getSize()
und truncate()
fälschlicherweise als asynchrone Methoden spezifiziert, und ältere Versionen einiger Browser implementieren sie auf diese Weise. Alle aktuellen Browser, die diese Methoden unterstützen, implementieren sie jedoch als synchrone Methoden.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4