打开主菜单

更改

FileSystemWritableFileStream

添加1,926字节2025年2月6日 (星期四)
创建页面,内容为“{{本地化}} 文件系统 API 的 FileSystemWritableFileStream 接口是一类附加了便于操作磁盘上单个文件的方法的 WritableStream 对象。这个…”
{{本地化}}
文件系统 API 的 FileSystemWritableFileStream 接口是一类附加了便于操作磁盘上单个文件的方法的 WritableStream 对象。这个接口通过 FileSystemFileHandle.createWritable() 方法来访问。

WritableStream
FileSystemWritableFileStream
==实例属性==
从父接口 [[WritableStream]] 继承属性。

==实例方法==
从父接口 [[WritableStream]] 继承方法。

===FileSystemWritableFileStream.write()===
向调用此方法的文件写入内容,写入到文件当前指针偏移处。

===FileSystemWritableFileStream.seek()===
更新文件当前指针偏移到指定位置(以字节为单位)。

===FileSystemWritableFileStream.truncate()===
将与流相关联的文件调整为指定的字节大小。

==示例==
下面的异步函数会打开“保存文件”选择器,选择器在有文件被选择后会返回一个 FileSystemFileHandle。由此,使用 FileSystemFileHandle.createWritable() 方法创建一个写入流。

然后向流中写入一个文本字符串,随后关闭该流。

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() 方法传递的不同选项。


// 只传递数据(没有选项)
writableStream.write(data);

// 向流中指定位置写入数据
writableStream.write({ type: "write", position, data });

// 将文件当前的指针更新到指定的偏移位置
writableStream.write({ type: "seek", position });

// 调整文件至指定字节长度
writableStream.write({ type: "truncate", size });