node中的文件系统
- 在Node中有一个文件系统,所谓的文件系统,就是对计算机中文件进行增删改查
- 在node中,提供了一个模块,fs(文件系统)
- fs 是node核心模块,无需下载,需要引入
简单文件写入
/*
//异步文件写入
fs.writeFile(file,data[,options],callback){
file 要写入的文件路径 + 文件名
data 要写入的数据
options 可选参数[配置对象]
encoding:设置文件的编码格式,默认值 utf8
mode: 设置文件的操作权限,默认值 0o666(可读可取)
-- 0o111 被执行的权限
-- 0o222 被写入的权限
-- 0o444 被读取的权限
flag : 打开文件要执行的操作,默认值是'w'
-- a 追加
-- w 写入
callback 回调函数
err 多无对象
}
*/
const fs = require("fs")
fs.writeFile(__dirname + "./demo.txt",'hello',(err)=>{
if(err){
console.log("写入失败")
}else{
console.log("文件写入成功")
}
})
流式文件写入
/*
1. 创建一个流
fs.createWriteStream(path[,option]){
path : 要写入文件的路径+文件名+文件后缀
options : 配置对象
flags
encoding
fd 文件统一标识符,linu下文件标识符
mode
autoClose 自动关闭 -- 文件 默认值 true
emitClose 关闭 --- 文件 默认值 false
start : 读取文件的起始位置(偏移量)
}
*/
let fs = require("fs")
// 创建一个可写流
let ws = fs.createWriteStream(__dirname + '/demo.txt')
// 只要用来流,就必须检测的形态
ws.on('open',function(){
console.log("可写流打开了")
})
ws.on('close',function(){
console.log('可写流关闭了')
})
// 使用可写流写入数据
ws.write('hello world')
// 关闭流
es.close() // 如果在Node的8版本中,使用此方法关闭流会造成数据流失
// 在node8 版本中要用 ws.end() 关闭