我正在构建一个机器人,该机器人将值存储在.txt文件中,每行一个代码。 现在,我只想获取txt文件的一行,然后删除该行。
它不起作用,我不知道如何删除一行然后写一个新文件
bot.on("message", message=>{
let args = message.content.substring(prefix.length).split(" ");
switch(args[0]){
case "code":
let codetext = message.content.replace(prefix + "code", "")
fs.appendFile("./text.txt", codetext + "\n",(err)=>{
if (err) throw err;
message.channel.send("message written")
})
break;
case "getcode":
let getcode = fs.readFileSync("./text.txt", "utf8", (err)=>{
if (err) throw err;
})
var code_array = getcode.split("\n")
message.channel.send(code_array[0])
}
});
答案 0 :(得分:0)
您已经制作了一个数组,因此只需要删除要删除的元素,然后重写剩下的文件,覆盖旧文件即可。有几种方法可以执行此操作,以下所有操作都会更改原始数组:
删除最后一个元素并返回删除的内容。
let popped = code_array.pop()
删除第一个元素并返回删除的内容。
let shifted = code_array.shift()
从元素索引2(第3个元素,从0开始!)开始删除3个项,并返回删除的数组。
let spliced = code_array.splice(2, 3);