龙空技术网

NodeJs文件系统模块——文件写入

我的希望在转角 81

前言:

现在兄弟们对“javascript写入文件”可能比较关心,小伙伴们都想要分析一些“javascript写入文件”的相关资讯。那么小编同时在网上网罗了一些有关“javascript写入文件””的相关内容,希望我们能喜欢,同学们一起来学习一下吧!

NodeJs为开发人员提供了处理操作系统文件的文件系统模块(fs)。通过件系统模块(fs),你可以读取、写入、修改、删除文件,创建和读取目录等操作。

本文件介绍文件写入方法

一、引入文件系统模块:

var fs = require("fs")

引入文件系统模块后,可以对文件系统进行操作

二、文件路径:

文件路径有两种,分别为:相对路径和绝对路径。

相对路径:指当前工作目录的路径,可以使用这个方法读取:process.cwd();绝对路径:需要指定具体的路径,如:D:\NodeJs\al006\hello.txt

三、文件写入

文件系统模块(fs)为用户提供了同步和异步两种操作方法,用户可以根据需求选择使用。同步与异步方法名不同,同步方法以Sync结尾;异步方法调用时最后一个参数为回调函数,回调函数的作用是处理完文件操作后要处理的事务。

一)、同步文件写入方法(writeFileSync):

var contentsync = fs.writeFileSync(文件,内容,设置)

文件:写入的文件名(可以相对路径、完整路径、网络路径);内容:写入文件的内容,数据类型为String或Buffer设置:默认值为 null,可以指定编码、标识位、权限等。encoding(编码,默认为 utf8)、 flag(标识位,默认为 w)和 mode(权限位),可直接传入编码。

二)、异步文件写入方法(writeFile):

fs.writeFile(文件,内容, 设置, 回调函数)

文件:要写入的文件名(可以相对路径、完整路径、网络路径);内容:写入文件的内容,数据类型为String或Buffer编码:默认值为 null,可以指定编码、标识位、权限等。encoding(编码,默认为 utf8)、 flag(标识位,默认为 w)和 mode(权限位),可直接传入编码。回调函数:文件写入后调用的回调函数。回调函数带有一个参数:

err:如果发生任何错误,返回错误信息

提醒:

文件的写入路径必须已存在,否则会出错;如果写入的内容出错乱码,一般是编码不对,需要指定对应的编码。

三)、文件写入实例:

用VSCode打开路径D:\NodeJs\al006

1、创建hello.txt,输入内容:hello world!。Hello.txt文件用于实例文件读取。

2、创建writefileboth.js,内容如下:

//引入文件系统模块

var fs = require("fs");

// 同步写入

fs.writeFileSync('helloSync.txt', 'hello world!-同步','utf8');

console.log("文件写入成功");

// 异步写入,红色部分为回调函数

fs.writeFile('hello.txt', 'hello world!-异步', function (err) {

if (err) {

return console.log(err);

}

console.log("异步方法文件写入成功");

});

打开终端,运行node writefileboth.js,运行结果如下:

文件写入的内容如下:

异步操作的回调函数可以定义成方法,在调用时作为参数,代码如下:

//引入文件系统模块

var fs = require("fs");

//定义回调函数

function fsbackcall(err) {

if (err) {

return console.log(err);

}

console.log("异步方法文件写入成功");

}

// 异步写入,红色部分为回调函数

fs.writeFile('hello2.txt', 'hello world!-异步(回调分离)','utf8', fsbackcall);

标签: #javascript写入文件 #nodejs获取文件信息的方法是什么 #nodejs相对路径和绝对路径