FileSystemWritableFileStream
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
备注: 此特性在 Web Worker 中可用。
文件系统 API 的 FileSystemWritableFileStream
接口是一类附加了便于操作磁盘上单个文件的方法的 WritableStream
对象。这个接口通过 FileSystemFileHandle.createWritable()
方法来访问。
实例属性
从父接口 WritableStream
继承属性。
实例方法
从父接口 WritableStream
继承方法。
FileSystemWritableFileStream.write()
-
向调用此方法的文件写入内容,写入到文件当前指针偏移处。
FileSystemWritableFileStream.seek()
-
更新文件当前指针偏移到指定位置(以字节为单位)。
FileSystemWritableFileStream.truncate()
-
将与流相关联的文件调整为指定的字节大小。
示例
下面的异步函数会打开“保存文件”选择器,选择器在有文件被选择后会返回一个 FileSystemFileHandle
。由此,使用 FileSystemFileHandle.createWritable()
方法创建一个写入流。
然后向流中写入一个文本字符串,随后关闭该流。
js
async function saveFile() {
// 创建一个新句柄
const newHandle = await window.showSaveFilePicker();
// 创建一个 FileSystemWritableFileStream 用于写入
const writableStream = await newHandle.createWritable();
// 写入我们的文件
await writableStream.write("This is my file content");
// 关闭文件并将内容写入磁盘
await writableStream.close();
}
下面的例子展示能够向 write()
方法传递的不同选项。
js
// 只传递数据(没有选项)
writableStream.write(data);
// 向流中指定位置写入数据
writableStream.write({ type: "write", position, data });
// 将文件当前的指针更新到指定的偏移位置
writableStream.write({ type: "seek", position });
// 调整文件至指定字节长度
writableStream.write({ type: "truncate", size });
规范
Specification |
---|
File System Standard # api-filesystemwritablefilestream |
浏览器兼容性
BCD tables only load in the browser