引入模块
var fs = require("fs");
打开文件
异步打开
fs.open(path[, flags[, mode]], callback)
flag 常用值
‘a’: 打开文件进行追加。 如果文件不存在,则创建该文件。
‘r’: 打开文件进行读取。 如果文件不存在,则会发生异常。
‘w’: 打开文件进行写入。 创建(如果它不存在)或截断(如果它存在)该文件。——原内容全覆盖

写入文件
fs-同步写入
//获取操作符
var fd = fs.openSync("./hello.txt",'w');
console.log(fd);
//写入内容
fs.writeSync(fd,'今天天气真不错。',2);
//保存并退出
fs.closeSync(fd);
fs.appendFile(path, data[, options], callback)
异步地将数据追加到文件,如果该文件尚不存在,则创建该文件。 data 可以是字符串或 <Buffer>。
关闭文件
fs.close(fd,callback)
fs.closeSync(fd)
异步追加文件
var fs = require("fs");
fs.open("./hello2.txt", 'a', function (err, fd) {
if (!err) {
fs.appendFile("./hello2.txt","追加四个。 ",function(err){
if(!err){
console.log("写入成功啦〜〜〜");
}
})
fs.close(fd, function (err) {
if (!err) {
console.log("文件已关闭〜〜〜");
}
});
} else {
console.log(err);
}
});
console.log("程序向下执行");
简单文件写入
fs.writeFile(file, data[, options], callback)
fs.writeFileSync(file, data[, options])
–file 要操作的文件的路径
– data 要写入的数据
– options 选项,可以对写入进行一些设置
- options 一般都是需要对象作参数

– callback 当写入完成以后执行的函数
简单异步追加
var fs = require('fs');
fs.writeFile("hello3.txt","写入+1 ",{flag:'a'},function(err){
if(!err){
console.log("写入成功");
}
})
路径
Win写其它位置
写绝对路径时,记得转义字符
或者这样也可以
流式文件写入
// 1.
var fs = require('fs');
// 2.创建一个可写流
// fs.createWriteStream()
var ws = fs.createWriteStream("hello3.txt");
// 3.
ws.write("这是通过可写流写入的内容。");
ws.write("追加+1");
- 如果文件存在,会覆盖
- 之后写的会追加,只要这个可写流存在
关闭流
// 4.
ws.end();
现在用 ws.close();也可以
监听
监听流open/close事件来监听流的打开和关闭
绑定一个open事件,当该事件发生时,函数触发。
on 和 once 都可以为对象绑定一个事件,on 绑定长期有效的事件,once绑定一次性事件。运行效果一样,once性能要好一些。
on(事件字符串,回调函数)--------可以为对象绑定一个事件
once(事件字符串,回调函数)------可以为对象绑定一个一次性的事件,该事件会在触发一次以后自动失效。
ws.once("open",function(){
console.log("流打开了〜〜〜");
});
ws.once("close",function(){
console.log("流关闭了〜〜〜");
});
版权声明:本文为weixin_45246970原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。