迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Node.js >

在 Node JS 中写入文件

作者:迹忆客 最近更新:2023/03/11 浏览次数:

使用文件是每个开发人员的基本技能,无论你使用哪种编程语言。在 Node js 中,对文件的处理主要是通过 fs 模块,它对文件进行各种操作。

由于 fs 模块存在于标准库中,我们可以通过简单地要求它在我们的程序中使用它。

const fs = require('fs')

fs 模块提供的默认异步方法之一是 fs.writeFile() 将任何类型的数据写入文件的方法。此方法接受四个参数,如此处所示。

在 NodeJS 中使用 fs.writeFile() 写入数据

var fs = require('fs');
fs.writeFile(filepath, data, [encoding], flag, [callback])

第一个参数用于指定我们正在写入的文件的位置。第二个参数是我们写入指定位置文件的数据。

编码参数是可选的。

但是,编码格式有 base64ASCIIutf8 等多种格式。不指定此参数时,默认编码格式为 utf8

flag 参数也是一个可选参数,它指定我们希望对目标文件执行的写入操作的种类。

默认的 fag 是 w,代表写作。我们可能使用的其他一些标志是用于读取和写入的 r+,用于将流定位在文件开头的 w+ 以及读取和写入。

最后,我们还有 callback 参数。一旦 fs.writeFile() 方法被执行,这个函数就会被调用。

如果方法失败,它还负责抛出错误。在下面的示例中,我们将一些文本写入名为 tesla.txt 的文本文件。

请注意 ,我们尚未创建文件 tesla.txt;但是,当使用 fs.writeFile() API 写入不存在的文件时,将自动创建该文件。

const fs = require('fs');
 
const text = 'Tesla is largest EV manufacturer';
 
fs.writeFile('tesla.txt', text, (err) => {
    if (err) return console.error(err);
    console.log("File successfully written !");
 
});

由于文件 tesla.txt 不存在,因此创建了代码示例。

但是,当写入存在的文件时,我们正在写入的新内容将覆盖预先存在的内容。

在下面的示例中,我们将向我们创建的 tesla.txt 文件添加新的文本内容。

const fs = require('fs');
 
const text = 'Lucid Motors is a top EV manufacturer !';
 
fs.writeFile('tesla.txt', text, (err) => {
    if (err) return console.error(err);
    console.log("File successfully written !");
 
});

输出结果:

Lucid Motors is a top EV manufacturer !

正如 test.txt 文件中所显示的,初始内容已被新内容覆盖。如果我们写一个包含一些内容的文件,我们可以指定附加标志 a

这个标志允许我们在文件末尾写一些已经有内容的内容。

const fs = require('fs');
 
const text = 'Tesla is a giant though!';
 
fs.writeFile('tesla.txt', text, {flag:'a'}, (err) => {
    if (err) return console.error(err);
    console.log("File successfully written !");
 
});

输出结果:

Lucid Motors is a top EV manufacturer !Tesla is a giant though!

或者,我们也可以使用 fs.appendFile() 将内容写入已经包含某些内容的文件。

在 NodeJS 中使用 fs.appendFile() 将内容写入文件

const fs = require('fs');
 
const text = 'Tesla is a giant though!';
 
fs.appendFile('tesla.txt', text, (err) => {
    if (err) return console.error(err);
    console.log("File successfully written !");
 
});

输出结果:

Lucid Motors is a top EV manufacturer !Tesla is a giant though!

fs 模块 还提供了一个异步方法 fs.writeFileSync(),我们也可以使用它来写入 Node js 中的文件。如果我们正在写入的文件不存在,此方法将创建一个新文件。

当写入包含某些内容而不添加附加标志的文件时,唯一内容也将覆盖旧内容。

const fs = require('fs')
const content = 'Tesla is the largest EV manufacturer!';
 
try {
  fs.writeFileSync('tesla.txt', content)
 
} catch (err) {
  console.error(err)
}

输出结果:

Tesla is the largest EV manufacturer!

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Node.js 中编码 URL

发布时间:2023/03/27 浏览次数:201 分类:Node.js

在这篇简短的文章中,我们将学习如何在 Node.js 中进行 URL 编码。

在 Node.js 中编码 Base64

发布时间:2023/03/27 浏览次数:155 分类:Node.js

在本文中,我们将学习如何在 Node.js 中将字符串或文本转换为 base64。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便