Node 中文件写入
简单文件写入
/*
* 1、Node 中文件系统
* 1.在 Node.js中有一个系统文件,所谓就是针对计算机的文件进行增删改等操作
* 2.在 Node.js中,给我们提供了一个模块,叫做fs模块(系统文件),专门用于操作文件
* 3.fs 模块是Node的核心模块,使用的时候,无需下载,直接引入
*
* 2、异步文件写入(简单文件写入)
* fs.writeFile(file,fata[,options],callback)
* --file: 要写入的文件路径+文件名+文件格式 比如 .txt .html...
* --data: 要写入的数据
* --options: 可选参数
* --encoding: 设置文件的编码方式, 默认值: utf8(万国码)
* --mode:设置文件的操作权限,默认值是: 0o666
* 还有一下属性值可选
* --0o111: 文件可被执行的权限
* --0o222: 文件可被写入的权限
* --0o444: 文件可被读取的权限
* --0o666:可以理解为 0o222 + 0o444
* --flag: 打开文件夹要执行的操作,默认值是'w'
* --a : 追加
* --w : 写入
* --callback: 回调参数
* --err: 错误对象
* 如果失败就返回
* 如果成功就是一个空对象
* 在Node中有一个原则:错误优先原则
* */
详细代码如下
let fs = require('fs')
fs.writeFile('./index.txt',',确实不错',{mode:0o666, flag:'a'},(err)=>{
if (err){
console.log('文件写入失败',err)
}else{
console.log('文件写入成功')
}
})
流式文件写入
/*
* 创建一个可写流
* fs.createWriteStram(path[,options])
* --path : 要写入文件的路径 + 文件名 + 文件后最
* --options : 配置文件(可选参数)
* --flags :
* --encoding :
* --fd : 文件统一标识符,只在 Linux 系统下文件标识符
* --mode :
* --autoClose : 自动关闭 --- 文件,默认值:ture
* --emitClose : 强制关闭 --- 文件,默认值:false
* --start : 读取文件的起始位置
* */
详细代码如下
let fs = require('fs')
// 创建一个可写流 --- 工具到位了
let ws = fs.createWriteStream('./index.txt')
// 只要用到了流,就必须监测流的状态
// open 打开
ws.on('open',function (){
console.log('可写流打开了')
})
// close 关闭
ws.on('close', function () {
console.log('可写流关闭了')
})
// 使用可写流 写入数据
ws.write('住在山里感觉真不错\n')
ws.write('哪里不错\n')
ws.write('哪里都不错\n')
//关闭操作
ws.close() // 如果 Node 的版本是8版本,此方法会关闭流会造成数据丢失
//ws.end() 在 Node 的 8 版本中,要用 end 方法关闭流