我想用javascript替换一行新内容。 这是文件内容,
SERVER=1055@localhost
GROUP_SERVERS=2325@localhost
LINE_IAM_INTERESTED=KTYUIERVW:2800
FILE_PATH="C:\Program Files\somefile\Shared Files\"
在这一行中,LINE_IAM_INTERESTED=KTYUIERVW:2800
。我想将KTYUIERVW
的{{1}}替换为KJHTERDY
的{{1}}
我已经展示了我使用fs appendfilesync所做的尝试
2800
答案 0 :(得分:0)
您可以尝试阅读->替换->写流程:
fs.writeFileSync('file_name', fs.readFileSync('file_name').replace('KTYUIERVW:2800', 'KJHTERDY:78945'))
答案 1 :(得分:0)
appendFile
和appendFileSync
用于添加到文件末尾。尽管您可以像另一个答案中所示那样将其作为一个衬纸来完成,但是我将代码的结构保持不变。您要在此处读取数据,对其进行修改然后重新写入。使用已有的代码块,可以对其进行修改,以使用readFileSync
和writeFileSync
。
let newData = fs.readFileSync('file_name', 'utf-8').split('\n').map(line => {
let sEntry = line.split('=')
if (sEntry.length == 2) {
if (sEntry[0] == "LINE_IAM_INTERESTED") {
console.log("found one!!!!");
return sEntry[0] + '=' + 'KJHTERDY:78945'
}
}
return line
}).join('\n')
fs.writeFileSync('file_name', newData)
我将forEach
换成map
,这使我们可以通过返回所需的值来更改数组数据。然后,将新数组重新组合在一起并写回到文件中。