Deno 读取本地文件
读取一个文件
Deno 也提供内置的 API,它们都位于全局变量 Deno
中。
您可以在此找到相关文档:doc.deno.land。
文件系统 API 没有 web 标准形式,所以 Deno 提供了内置的 API。
在这个程序中,每个命令行参数都是一个文件名,参数对应的文件将被依次打开,打印到标准输出流。
for (let i = 0; i < Deno.args.length; i++) {
let filename = Deno.args[i];
let file = await Deno.open(filename);
await Deno.copy(file, Deno.stdout);
file.close();
}
除了内核到用户空间再到内核的必要拷贝,这里的 copy()
函数不会产生额外的消耗性能操作;
从文件中读到的数据会原样写入标准输出流。这反映了 Deno I/O 流的通用设计目标。
尝试一下
尝试读取本地的 axihe.com.md
/ test.md
和 test2.md
文件
Git bash 运行
再用 Git bash 试试
deno run --allow-read https://deno.land/std/examples/cat.ts /e/deno/axihe.com.md
deno run --allow-read https://deno.land/std/examples/cat.ts /e/deno/test.md
deno run --allow-read https://deno.land/std/examples/cat.ts /e/deno/test2.md
PowerShell 运行
deno run --allow-read https://deno.land/std/examples/cat.ts E:\deno\axihe.com.md
再试试英文的,发现英文状态可以的;
根据我的经验,这是因为 powershell 和 cmd 的解析问题,不是 Deno 的锅,我们来设置一下 powershell 格式
修改 powershell 格式
临时修改
直接在 powershell 中执行 chcp 命令
chcp 65001
运行试试,发现可以运行