Reading Files


Many applications need to read files from disk. Deno provides a simple interface for reading files.

The easiest way to read a file is to just read the entire contents into memory as bytes.
const bytes = await Deno.readFile("hello.txt");
Instead of reading the file as bytes, there is a convenience function to read the file as a string.
const text = await Deno.readTextFile("hello.txt");
Often you need more control over when what parts of the file are read. For this you start by opening a file to get a `Deno.FsFile` object.
const file = await"hello.txt");
Read some bytes from the beginning of the file. Allow up to 5 to be read but also note how many actually were read.
const buffer = new Uint8Array(5);
const bytesRead = await;
console.log(`Read ${bytesRead} bytes`);
You can also seek to a known location in the file and read from there.
const pos = await, Deno.SeekMode.Start);
console.log(`Seeked to position ${pos}`);
const buffer2 = new Uint8Array(2);
const bytesRead2 = await;
console.log(`Read ${bytesRead2} bytes`);
You can use rewind back to the start using seek as well.
await, Deno.SeekMode.Start);
Make sure to close the file when you are done.
Synchronous reading is also supported.
const f = Deno.openSync("hello.txt");
f.seekSync(6, Deno.SeekMode.Start);
const buf = new Uint8Array(5);
The `--allow-read` permission is required to read files.

Run this example locally using the Deno CLI:

deno run --allow-read