ZCQ
日期:2021年1月30日
简单文件的写入
fs.writeFile(file, data[, options], callback)
fs.writeFileSync(file, data[, options])
-file 要操作的文件的路径
-data 要写入的数据
-options 选项,可以对写入进行一些设置
-callback 当写入完成后执行的函数
文件的打开状态:
模式 | 说明 |
---|---|
r | 读取文件,文件不存在则异常 |
r+ | 读写文件,文件不存在则异常 |
rs | 在同步模式下打开文件用于读取 |
rs+ | 在同步模式下打开文件用于读写 |
w | 打开文件用于写操作,如果文件不存在则创建,如果文件存在则截断 |
wx | 打开文件用于写操作,如果存在则打开失败 |
w+ | 打开文件用于读写,如果不存在则创建,如果存在则截断 |
wx+ | 打开文件用于读写,如果存在则打开失败 |
a | 打开文件用于追加,如果不存在则创建 |
ax | 打开文件用于追加,如果路径存在则失败 |
a+ | 打开文件用于读取和追加,如果不存在则创建文件 |
ax+ | 打开文件用于读取和追加,如果路径存在则失败 |
一般常用的有w , r , a
实例:
var fs=require("fs");
fs.writeFile("hi2.txt","这是通过fs.writeFile写入的内容",function(err){
if(!err){
console.log("写入成功");
}
})
同步、异步、简单文件的写入都不适合大文件的写入,性能较差,容易导致内存溢出
流式文件的写入克服了上述缺点
流式文件的写入
创建一个可写流:
fs.createWriteStream(path[, options])
-创建一个可写流
-path:文件的路径
-options 配置的参数
//流式文件的写入
var fs=require("fs");
var ws=fs.createWriteStream("hi3.txt");
ws.write("通过可写流写入文件的内容");
//通过监听流的open和close实践来监听流的打开和关闭
ws.once("open",function(){
console.log("流打开了");
});
ws.end(); //注意,用end(),不用close()
ws.once("close",function(){
console.log("流关闭了");
});