FileSystemWritableFileStream

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

注意:此功能在Web Workers中可用。

FileSystemWritableFileStream文件系统 API 的一个接口,它是一个具有额外便捷方法的 WritableStream 对象,用于操作磁盘上的单个文件。可以通过 FileSystemFileHandle.createWritable() 方法访问该接口。

WritableStream FileSystemWritableFileStream

实例属性

继承自其父级 WritableStream 的属性。

实例方法

继承自其父级 WritableStream 的方法。

FileSystemWritableFileStream.write()

将内容写入调用该方法的文件,位于当前文件光标偏移量处。

FileSystemWritableFileStream.seek()

将当前文件光标偏移量更新到指定的位置(以字节为单位)。

FileSystemWritableFileStream.truncate()

调整与流关联的文件的大小,使其成为指定的大小(以字节为单位)。

示例

以下异步函数打开“保存文件”选择器,在选择文件后返回 FileSystemFileHandle。由此,使用 FileSystemFileHandle.createWritable() 方法创建可写流。

然后将文本字符串写入流,随后关闭流。

js
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();
}

以下示例显示了可以传递给 write() 方法的不同选项。

js
// 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 });

规范

规范
文件系统标准
# api-filesystemwritablefilestream

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅