deno.com

串流檔案操作

在 Github 上編輯

有時我們需要更精細地控制檔案操作。Deno 提供了可用於此目的的低階檔案操作介面。

在我們的第一個範例中,我們將示範如何使用可寫入的串流。要處理任何低階檔案操作,我們必須先開啟檔案。
const output = await Deno.open("example.txt", {
  create: true,
  append: true,
});
我們現在可以從輸出中取得 writer。這會在完成時自動處理關閉檔案。
const outputWriter = output.writable.getWriter();
在我們對 writer 執行任何操作之前,我們應該確保它已準備就緒。
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");
讓我們從輸入中取得 reader
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://deno-docs.dev.org.tw/examples/scripts/streaming_files.ts

您找到需要的資訊了嗎?

隱私權政策