Deno 是一个以安全性为主要考虑因素的 JavaScript/TypeScript 运行时环境,它提供了类 Unix 的文件 IO 等操作接口,使得开发者能够方便地处理文件读写操作。本文将介绍如何在 Deno 应用中处理常见的文件 IO 操作。
1. 读取文件
Deno 应用中读取文件非常简单,只需使用 Deno.readFile
方法即可。示例如下:
const file = await Deno.readFile("path/to/file.txt"); console.log(new TextDecoder().decode(file));
上述代码读取文件路径为 path/to/file.txt
的文本文件,使用 TextDecoder
对获得的 Uint8Array
对象进行解码,然后输出文件内容。
需要注意的是,Deno.readFile
方法需要读取本地文件系统中的文件。如果您需要读取远程文件,可以使用 fetch
方法替代,示例如下:
const response = await fetch("https://your-host.com/path/to/remote/file.txt"); const fileData = await response.text(); console.log(fileData);
2. 写入文件
在 Deno 应用中写入文件也非常方便,只需使用 Deno.writeFile
方法即可。示例如下:
const encoder = new TextEncoder(); const fileData = encoder.encode("Hello, world!"); await Deno.writeFile("path/to/file.txt", fileData);
上述代码创建了一个名为 fileData
的 Uint8Array
对象,其中存储了要写入的数据,然后使用 Deno.writeFile
方法将数据写入名为 path/to/file.txt
的文件中。
需要注意的是,如果文件不存在,writeFile
方法会创建该文件。如果文件已存在,writeFile
方法将覆盖原始内容。
3. 读取目录
在 Deno 应用中读取目录非常容易,只需使用 Deno.readDir
方法即可。示例如下:
for await (const dirEntry of Deno.readDir("path/to/directory")) { console.log(dirEntry.name); }
上述代码遍历了名为 path/to/directory
的目录,并输出其中的所有文件和子目录的名称。
需要注意的是,Deno.readDir
方法返回一个异步迭代器。在 for await
循环中对其进行遍历,可以逐个取出目录中的每一个文件及子目录。
4. 创建目录
在 Deno 应用中创建目录很容易,只需使用 Deno.mkdir
方法即可。示例如下:
await Deno.mkdir("path/to/new/directory", { recursive: true });
上述代码在名为 path/to/new/directory
的目录中创建了一个新目录,并使用 recursive
标志指示需要创建该目录的所有上级目录。
5. 删除文件或目录
在 Deno 应用中删除文件或目录也非常易于实现,只需使用 Deno.remove
方法即可。示例如下:
await Deno.remove("path/to/file.txt"); await Deno.remove("path/to/directory", { recursive: true });
上述代码删除了名为 path/to/file.txt
的文件和名为 path/to/directory
的目录及其下的所有文件和子目录。
需要注意的是,recursive
标志指示需要递归删除目录及其下的所有文件和子目录。
总结
本文主要介绍了如何在 Deno 应用中处理文件 IO 操作。在 Deno 中,文件 IO 操作非常易于实现,开发者只需使用一些简单的方法即可完成常见的文件读写,目录读取、创建和删除等操作。希望这篇文章对您有所帮助,并为您在 Deno 应用开发工作中提供一些参考。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64b3a10448841e9894fe61ca