前言:
现在兄弟们对“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);