deno.com

流式文件操作

有时我们需要对文件操作进行更细粒度的控制。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 -R -W https://docs.deno.org.cn/examples/scripts/streaming_files.ts

您找到所需内容了吗?

隐私政策