首页 > 解决方案 > 从 NodeJS 中的文本文件中删除特定行

问题描述

我正在尝试使用 NodeJs 从文本文件中删除特定行,但我无法这样做。谁能帮帮我吗?

这是文本文件中的内容,我正在尝试从文本文件中删除 example3:example3。

example1:example1
example2:example2
example3:example3
example4:example4

这是应该工作但不工作的代码

const fs = require('fs')
const path = require('path')

const filePath = path.join(__dirname, '../data/test.txt')
const fileData = fs.readFileSync(filePath, 'utf-8').split('\r\n')

const position = 3

fileData.splice(position - 1, 1)

标签: javascriptnode.js

解决方案


您需要使用fs.writeFile或保存文件fs.writeFileSync

同步:

const fs = require('fs')
const path = require('path')
const filePath = '../data/test.txt'

const filePath = path.join(__dirname, filePath)
const fileData = fs.readFileSync(filePath, 'utf-8').split('\r\n')

const position = 3

fileData.splice(position - 1, 1)
const dataString = fileData.join('\r\n')
fs.writeFileSync(filePath, dataString)

异步:

const fs = require('fs')
const path = require('path')
const filePath = '../data/test.txt'

const filePath = path.join(__dirname, filePath )

fs.readFile(filePath, (err, data) => {
  if (err) throw err

  const fileData a data.split('\r\n')

  const position = 3

  fileData.splice(position - 1, 1)
  const dataString = fileData.join('\r\n')

  fs.writeFile(filePath, dataString, (err) => {
    if (err) throw err
    else console.log('file saved')
  })
})



推荐阅读