fs:用另一个文件内容替换文件内容

Posted

技术标签:

【中文标题】fs:用另一个文件内容替换文件内容【英文标题】:fs: replace file contents by another file content 【发布时间】:2017-05-25 10:10:16 【问题描述】:

给定以下文件:

主机

127.0.0.1 localhost

项目-a.hosts

127.0.0.1 project-a

项目-b.hosts

127.0.0.1 project-b

通过 Node 中的 FS 将主机文件内容替换为另一个给定文件的最简单方法是什么?

【问题讨论】:

【参考方案1】:

您可以使用 node.js 中的 fs 模块来执行此操作。这里有两种方法,一种使用异步函数,另一种使用它们的同步模拟。 这很简单。

我强烈建议您在提问之前更彻底地搜索 ***,因为这类问题非常常见。以this answer 为例...

const fs = require('fs');

// async
function replaceContents(file, replacement, cb) 

  fs.readFile(replacement, (err, contents) => 
    if (err) return cb(err);
    fs.writeFile(file, contents, cb);
  );



// replace contents of file 'b' with contents of 'a'
// print 'done' when done
replaceContents('b', 'a', err => 
  if (err) 
    // handle errors here
    throw err;
  
  console.log('done');
);


// sync - not recommended

function replaceContentsSync(file, replacement) 

  var contents = fs.readFileSync(replacement);
  fs.writeFileSync(file, contents);



replaceContentsSync('a', 'b');

【讨论】:

以上是关于fs:用另一个文件内容替换文件内容的主要内容,如果未能解决你的问题,请参考以下文章

php接收二进制文件怎么替换里面的内容

nodejs文件追加内容

使用 nodejs 将文件夹内容复制到另一个文件夹

node 之 fs流读写

nodejs 文件系统(fs) 删除文件夹 及 子文件夹下的所有内容

使用 fs 修改 json 文件的单个部分,而不是覆盖整个内容