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 # api-filesystemwritablefilestream |