| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream | [Back] [Original] |
Get to know MDN better
Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The FileSystemWritableFileStream interface of the File System API is a WritableStream object with additional convenience methods, which operates on a single file on disk. The interface is accessed through the FileSystemFileHandle.createWritable() method.
Inherits properties from its parent, WritableStream.
Inherits methods from its parent, WritableStream.
FileSystemWritableFileStream.write()Writes content into the file the method is called on, at the current file cursor offset.
FileSystemWritableFileStream.seek()Updates the current file cursor offset to the position (in bytes) specified.
FileSystemWritableFileStream.truncate()Resizes the file associated with the stream to be the specified size in bytes.
The following asynchronous function opens the 'Save File' picker, which returns a FileSystemFileHandle once a file is selected. From this, a writable stream is created using the FileSystemFileHandle.createWritable() method.
A text string is then written to the stream, which is subsequently closed.
async function saveFile() {
// 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("This is my file content");
// close the file and write the contents to disk.
await writableStream.close();
}
The following examples show different options that can be passed into the write() method.
// just pass in the data (no options)
writableStream.write(data);
// writes the data to the stream from the determined position
writableStream.write({ type: "write", position, data });
// updates the current file cursor offset to the position specified
writableStream.write({ type: "seek", position });
// resizes the file to be size bytes long
writableStream.write({ type: "truncate", size });
| Specification |
|---|
| File System # api-filesystemwritablefilestream |
This page was last modified on Apr 5, 2024 by MDN contributors.
FileSystemWritableFileStreamYour blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |