const fs = require('fs')
手动操作的步骤
打开文件
fs.openSync(path[, flags[, mode]])
fs.open(path[, flags[, mode]], callback)
向文件中写入内容
fs.writeSync(fd, string[, position[, encoding]])
fs.write(fd, string[, position[, encoding]], callback)
保存并关闭文件
fs.closeSync(fd)
fs.close(fd[, callback])
// 同步写入文件
const fs = require('fs')
// 打开文件
let fd = fs.openSync('demo.txt','w')
// 写入文件
fs.writeSync(fd, "仙剑奇侠传三")
// 关闭文件
fs.closeSync(fd)
// 异步写入文件
const fs = require('fs')
// 打开文件
fs.open('demo2.txt','w',function(err,fd) {
if(!err) {
// 写入文件
fs.write(fd,'爱情公寓',function(err) {
if(!err) {
console.log('写入成功')
}
// 关闭文件
fs.close(fd,function(err) {
if(!err) {
console.log('已保存并关闭文件')
}
})
})
}else{
console.log('出错了')
}
})
简单文件写入
fs.writeFileSync(file, data[, options])
fs.writeFile(file, data[, options], callback)
// 简单文件写入
const fs = require('fs')
// 异步
fs.writeFile('demo3.txt','景天和雪见',function(err) {
if(!err){
console.log('写入成功')
}
})
// 同步
fs.writeFileSync('demo4.txt','紫萱和徐长卿')
流式文件写入
fs.createWriteStream(path[, options])
// 流式文件写入
const fs = require('fs')
// 创建一个可写流
let ws = fs.createWriteStream('demo.txt')
// 通过ws想文件中输出内容
ws.write("通过可写流写入的内容")
// 关闭流,不能用ws.close(),不然文件传不完
ws.end()
flag: 文件操作类型有哪些
fs.readFileSync(path[, options])
fs.readFile(path[, options], callback)
// 简单文件读取
const fs = require('fs')
fs.readFile('demo.txt',function(err,data) {
if(!err) {
console.log(data)
console.log(data.toString())
}
})
fs.createReadStream(path[, options])
// 流式读取文件
const fs = require('fs')
// 创建一个可读流
let rs = fs.createReadStream('demo.txt')
// 读取可读流中的数据,必须要可读流绑定一个data事件,data事件绑定完毕,他会自动读取数据
rs.on('data',function(data) {
console.log(data)
console.log(data.toString())
})
// 如果我们想把读取到数据写到另一个文件当中
let ws = fs.createWriteStream('demo1.txt')
// 使用pipe(管道),会直接输入到ws中
rs.pipe(ws)