gpt4 book ai didi

javascript - 在将文件名写入目录之前,如何正确检查文件名是否存在并生成后缀?

转载 作者:搜寻专家 更新时间:2023-11-01 00:16:12 25 4
gpt4 key购买 nike

我有一个将文件写入目录的函数:

response.pipe(fs.createWriteStream(fullPath))

但在此之前我想检查路径是否已经存在,如果存在,则添加一个后缀,例如file_1.txt(如果存在,则创建 file_2.txt...等):

// Check if the path already exist
let fullPath = "C:/test/file.txt"
let dir = "C:/test/"
let fileName = "file"
let fileExt = ".txt"

if (fs.existsSync(fullPath)) {
// I tried using a while loop but I end up making it too complicated
...
}


// Write file to disk
response.pipe(fs.createWriteStream(destinationPath))

问题

我如何正确/有效地做到这一点?

最佳答案

while 循环是正确的方法。

// Check if the path already exist
let fullPath = "C:/test/file.txt"
let dir = "C:/test/"
let fileName = "file"
let fileExt = ".txt"
let num = 0;

while (fs.existsSync(fullPath)) {
fullPath = `${dir}${fileName}_${num++}${fileExt}`;
}

在此之后,fullPath 包含第一个不存在的文件。

请注意,存在潜在的竞争条件。循环完成后,其他一些进程可能会创建该文件。

关于javascript - 在将文件名写入目录之前,如何正确检查文件名是否存在并生成后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51481361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com