解决在 Deno 中无法读取文件的错误

如果你正在学习 Deno 并试图读取文件时,你可能会遇到一个错误,即 PermissionDenied。这是因为默认情况下,Deno 不允许无法被代码路径直接访问的文件系统访问。然而,有些情况下,我们需要访问这些文件。在这篇文章中,我们将探索如何解决这个问题,并介绍如何在 Deno 中读取文件。

错误信息:PermissionDenied

在 Deno 中,当你尝试访问一个不允许的路径时,会出现 PermissionDenied 错误。

-------------------------------- -- --- ----------------

这是因为默认情况下,Deno 只允许访问代码直接路径下的文件,以确保安全性。

解决方法

要访问非直接路径下的文件,我们需要使用 --allow-read 标志,允许 Deno 访问文件系统中的其他位置。

---- --- ------------ ------

或者,你可以使用 Deno.permissions.query() 方法来申请访问文件系统的权限。

----- ------ - ----- ------------------------ ----- ------- ----- --------------- ---
-- ------------- --- ---------- -
  ----- ---- - ----- -----------------------------------
  ------------------
- ---- -
  ---------------- ----- ---- --- ---- ------ -- --- --------
-

示例代码

下面是一个示例程序,它演示了如何使用 Deno 读取一个文件。

----- ---- - ----- --------------------------
----- ------ - --- ----------------
----- ------------------
--------------- ------------------------------
-------------

在这里,我们打开了 sample.txt 文件,并使用 Deno.open() 方法获得了一个文件句柄。接下来,我们创建了一个 Uint8Array 缓冲区,并使用 await file.read() 将文件内容读取到这个缓冲区中。最后,我们使用 console.log() 打印出缓冲区中读取的文件内容,并使用 file.close() 关闭文件句柄。

结论

在 Deno 中,访问文件系统需要明确申请权限。要读取非直接路径下的文件,我们需要使用 --allow-read 标志或 Deno.permissions.query() 方法。通过本文,你已经了解了如何在 Deno 中访问文件系统,并学会了如何读取文件。

希望这篇文章能够对你有所帮助,让你更好地理解 Deno 文件系统相关的知识。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672887c52e7021665e208ff7