FileSystemWritableFileStream: seek() 方法
注意:此功能在 Web Workers 中可用。
seek() 方法是 FileSystemWritableFileStream 接口的一部分,它会在调用该方法时,将当前文件的光标偏移量更新到指定的位置(以字节为单位)。
语法
js
seek(position)
参数
position-
一个指定文件开头字节位置的数字。
返回值
一个返回 undefined 的 Promise。
异常
NotAllowedErrorDOMException-
如果
PermissionStatus.state不是granted,则会抛出此异常。 TypeError-
如果
position不是数字或未定义,则会抛出错误。
示例
以下异步函数打开“保存文件”选择器,一旦选择了文件,它会返回一个 FileSystemFileHandle。从中,使用 FileSystemFileHandle.createWritable() 方法创建可写流。
接下来,我们将内容写入流
- 一个文本字符串被写入流。
seek()方法用于将光标置于流的开头。- 第二个文本字符串被写入流的开头,覆盖了第一次写入的内容。
然后关闭流。
js
async function saveFile() {
try {
// 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("My first file content");
await writableStream.seek(0);
await writableStream.write("My second file content");
// close the file and write the contents to disk.
await writableStream.close();
} catch (err) {
console.error(err.name, err.message);
}
}
如果您运行上面的函数,然后打开在磁盘上创建的生成文件,您应该会看到文本“My second file content”。
规范
| 规范 |
|---|
| 文件系统 # api-filesystemwritablefilestream-seek |
浏览器兼容性
加载中…