aboutsummaryrefslogtreecommitdiff
path: root/docs/guides/read-file/stream.md
blob: ac4bd9e2f12c0e2fd517a82736e30a997f0272ce (plain) (blame)
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
---
name: Read a file as a ReadableStream
---

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. Use `.stream()` to consume the file incrementally as a `ReadableStream`.

```ts
const path = "/path/to/package.json";
const file = Bun.file(path);

const stream = await file.stream();
```

---

The chunks of the stream can be consumed as an [async iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols) using `for await`.

```ts
for await (const chunk of stream) {
  chunk; // => Uint8Array
}
```

---

Refer to the [Streams](/docs/api/streams) documentation for more information on working with streams in Bun.