forked from denoland/deno
-
Notifications
You must be signed in to change notification settings - Fork 0
/
read_file.ts
29 lines (27 loc) · 933 Bytes
/
read_file.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { open, openSync } from "./files";
import { readAll, readAllSync } from "./buffer";
/** Read the entire contents of a file synchronously.
*
* const decoder = new TextDecoder("utf-8");
* const data = Deno.readFileSync("hello.txt");
* console.log(decoder.decode(data));
*/
export function readFileSync(filename: string): Uint8Array {
const file = openSync(filename);
const contents = readAllSync(file);
file.close();
return contents;
}
/** Read the entire contents of a file.
*
* const decoder = new TextDecoder("utf-8");
* const data = await Deno.readFile("hello.txt");
* console.log(decoder.decode(data));
*/
export async function readFile(filename: string): Promise<Uint8Array> {
const file = await open(filename);
const contents = await readAll(file);
file.close();
return contents;
}