deno.com

流式文件操作

在 Github 上编辑

有时我们需要对文件操作进行更精细的控制。 Deno 提供了一个用于文件操作的底层接口,可以用于此目的。

在我们的第一个示例中,我们将演示如何使用可写流。 要处理任何底层文件操作,我们必须首先打开文件。
const output = await Deno.open("example.txt", {
  create: true,
  append: true,
});
我们现在可以从输出中获取写入器。 这会自动处理在完成时关闭文件。
const outputWriter = output.writable.getWriter();
在我们对写入器执行任何操作之前,我们应该确保它已准备就绪。
await outputWriter.ready;
让我们向文件写入一些文本
const outputText = "I love Deno!";
const encoded = new TextEncoder().encode(outputText);
await outputWriter.write(encoded);
现在我们关闭写入流(和文件)
await outputWriter.close();
对于我们的下一个示例,让我们从文件中读取文本!
const input = await Deno.open("example.txt");
让我们从输入中获取一个读取器
const inputReader = input.readable.getReader();
const decoder = new TextDecoder();
让我们从文件中读取每个块并将其打印到控制台。
while (true) {
  const result = await inputReader.read();
  if (result.done) {
    break;
  }
  console.log(`Read chunk: ${decoder.decode(result.value)}`);
}

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

deno run --allow-read --allow-write https://docs.deno.org.cn/examples/scripts/streaming_files.ts

您找到所需的内容了吗?

隐私政策