检查文件是否存在
在 Github 上编辑
在创建文件时,首先确保该文件尚不存在可能很有用。 有许多方法可以做到这一点。
使用 std 库中的 `exists` 实用程序来检查文件或文件夹是否存在。 注意:如果在文件操作之前执行此操作,可能会产生竞争条件。 请考虑下面的替代方案。
import { exists } from "jsr:@std/fs/exists";
await exists("./this_file_or_folder_exists"); // true
await exists("./this_file_or_folder_does_not_exist"); // false
我们还可以使用此函数来检查路径上的项目是文件还是目录
await exists("./file", { isFile: true }); // true
await exists("./directory", { isFile: true }); // false
如果在对该文件执行另一个操作之前直接执行检查,请勿使用上述函数。 这样做会产生竞争条件。 不建议在这种用例中使用 `exists` 函数。 请考虑此替代方案,该方案在不执行任何其他文件系统操作的情况下检查文件是否存在。
try {
const stats = await Deno.lstat("example.txt");
} catch (err) {
if (!(err instanceof Deno.errors.NotFound)) {
throw err;
}
console.log("File does not exist");
}
使用 Deno CLI 在本地运行此示例
deno run --allow-read --allow-write https://docs.deno.org.cn/examples/scripts/checking_file_existence.ts