读取文件 (Bun.file())
Bun.file(path): BunFile
使用 Bun.file(path) 函数创建一个 BunFile 实例。BunFile 表示一个惰性加载的文件;初始化它不会从磁盘读取文件。
Blob 接口,因此内容可以以多种格式读取。
file:// URL 创建文件引用。
BunFile 可以指向磁盘上不存在的文件位置。
text/plain;charset=utf-8。通过向 Bun.file 传递第二个参数来覆盖它。
stdin、stdout 和 stderr 作为 BunFile 实例暴露。
删除文件 (file.delete())
调用 .delete() 删除文件。
写入文件 (Bun.write())
Bun.write(destination, data): Promise<number>
Bun.write 函数是一个多功能工具,用于将各种类型的数据写入磁盘。
第一个参数是 destination,可以是以下任何一种:
string:文件系统上的路径。使用"path"模块操作路径。URL:一个file://描述符。BunFile:文件引用。
stringBlob(包括BunFile)ArrayBuffer或SharedArrayBufferTypedArray(Uint8Array等)Response
查看系统调用
查看系统调用
stdout:
增量写入与 FileSink
Bun 提供了一个名为 FileSink 的原生增量文件写入 API。要从 BunFile 获取 FileSink 实例:
.write()。
.flush()。它会返回已刷新的字节数。
FileSink 的_高水位线_被达到时,即其内部缓冲区已满,缓冲区也会自动刷新。你可以配置此值。
bun 进程会保持活动状态,直到此 FileSink 通过 .end() 显式关闭。要退出此行为,对实例执行 “unref”。
目录
Bun 的node:fs 实现速度很快。在 Bun 中操作目录请使用 node:fs。
读取目录 (readdir)
要在 Bun 中读取目录,使用node:fs 的 readdir。
递归读取目录
要在 Bun 中递归读取目录,使用带recursive: true 的 readdir。
创建目录 (mkdir)
要递归创建目录,使用node:fs 中的 mkdir:
基准测试
以下是 Linuxcat 命令的 3 行实现。
cat.ts
terminal
cat 的 2 倍。
