跳至主要内容

写入文件

许多应用程序需要将文件写入磁盘。Deno 提供了一个简单的文件写入接口。

在 Github 上编辑
写入文件最简单的方法是将整个缓冲区一次性写入文件。
const bytes = new Uint8Array([72, 101, 108, 108, 111]);
await Deno.writeFile("hello.txt", bytes, { mode: 0o644 });
您也可以写入字符串而不是字节数组。
await Deno.writeTextFile("hello.txt", "Hello World");
要将内容追加到文本文件,请将 `append` 参数设置为 `true`。
await Deno.writeTextFile("server.log", "Request: ...", { append: true });
还支持同步写入。
Deno.writeFileSync("hello.txt", bytes);
Deno.writeTextFileSync("hello.txt", "Hello World");
对于更细粒度的写入,可以打开一个新的文件进行写入。
const file = await Deno.create("hello.txt");
您可以将数据块写入文件。
const written = await file.write(bytes);
console.log(`${written} bytes written.`);
`file.write` 返回写入的字节数,因为它可能无法写入传递的所有字节。我们可以获取一个写入器来确保写入整个缓冲区。
const writer = file.writable.getWriter();
await writer.write(new TextEncoder().encode("World!"));
关闭写入器会自动关闭文件。如果您不使用写入器,请确保在完成操作后关闭文件。
await writer.close();
需要 `--allow-write` 权限才能写入文件。

使用 Deno CLI 在本地运行 此示例

deno run --allow-read --allow-write https://docs.deno.org.cn/examples/writing-files.ts