Deno ファイルを読み込んで内容を出力する

  • 作成日 2020.12.21
  • 更新日 2020.12.22
  • deno
Deno ファイルを読み込んで内容を出力する

Denoで、ファイルを読み込んで内容を出力するまでのサンプルコードを記述してます。Denoはnode.jsの反省点をふまえた新しいJavaScriptランタイムです。

環境

  • OS windows10 64bit
  • Deno 1.6.1
  • typescript 4.1.2

ファイル読み込み

Deno FileSystemを使用することでファイルの内容を読み込むことが可能です。

hoge.txt

サンプルコード(sample.ts)

// 読み込むファイルを指定
const file = await Deno.open('./hoge.txt');

// 文字コードを指定
const decoder = new TextDecoder('utf-8');

// ファイルの読み込み
const text = decoder.decode(await Deno.readAll(file));

// 表示
console.log(text);

実行すると、ファイルの内容が読み込まれて表示されていることが確認できます。

run --allow-read sample.ts

<出力結果>
hoge
hoge
hoge

また、許可の要求なしにファイルの読み込みを実行するとDenoはデフォルトでファイルへのアクセスが制限されているので「PermissionDenied」が発生します。

deno run sample.ts

<出力結果>
error: Uncaught (in promise) PermissionDenied: read access to "./hoge.txt", run again with the --allow-read flag
    at processResponse (deno:core/core.js:223:11)
    at Object.jsonOpAsync (deno:core/core.js:240:12)
    at async Object.open (deno:runtime/rt/30_files.js:44:17)