From 4c89c60867591b50e0b31bf5009fd5ad6a3cebe1 Mon Sep 17 00:00:00 2001 From: Colin McDonnell Date: Wed, 26 Jul 2023 14:59:39 -0700 Subject: Add files (#3826) --- docs/guides/read-file/uint8array.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/guides/read-file/uint8array.md (limited to 'docs/guides/read-file/uint8array.md') diff --git a/docs/guides/read-file/uint8array.md b/docs/guides/read-file/uint8array.md new file mode 100644 index 000000000..1afcaa797 --- /dev/null +++ b/docs/guides/read-file/uint8array.md @@ -0,0 +1,22 @@ +--- +name: Read a file to a Uint8Array +--- + +The `Bun.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a variety of formats. + +To read the file into a `Uint8Array` instance, retrieve the contents of the `BunFile` as an `ArrayBuffer` with `.arrayBuffer()`, then pass it into the `Uint8Array` constructor. + +```ts +const path = "/path/to/package.json"; +const file = Bun.file(path); + +const arrBuffer = await file.arrayBuffer(); +const byteArray = new Uint8Array(arrBuffer); + +byteArray[0]; // first byteArray +byteArray.length; // length of byteArray +``` + +--- + +Refer to [API > Binary data > Typed arrays](/docs/api/binary-data#typedarray) for more information on working with `Uint8Array` and other binary data formats in Bun. -- cgit v1.2.3