在服务器上,我们经常需要一些代码对文件进行处理.
我们引入一个很重要的库,fs库
fs库
具体使用如下
fs.stat 检测时文件还是目录
fs.mkdir 创建目录
fs.writeFile 创建写入文件
fs.appendFile 追加文件
fs.readFile 读取文件
fs.readdir 读取目录
fs.rename 重命名
fs.rmdir 删除目录
fs.unlink 删除文件
直接引入使用就可以了
(1)判断是不是文件
const fs = require('fs')
fs.stat('./package.json',(err,data)=>{
if(err){
console.log(err);
}
console.log(`是文件: ${data.isFile()}`)
console.log(`是目录: ${data.isDirectory()}`)
})
(2)创建文件
fs.mkdir('./css',777,(err)=>{//读写权限可以不写,默认777
if(err){
console.log(err);
}
console.log("创建成功")
})
(3)写入数据
fs.writeFile('./aaa.html','你好',(err,data)=>{//'你好'就是写入的数据
if(err){
console.log(err);
}
console.log("创建成功")
})
当处理大数据的时候,我们则需要通过流来对数据进行处理
流方法读取数据
(1)读取文件代码
var readStream=fs.createReadStream('./aaa.txt');
//传入一个方法,读取相应的数据
readStream.on('data',(data)=>{
console.log(data)
})
//传入结束时的方法
readStream.on('end',()=>{
console.log("你好")
})
(2)写入文件方法
//2.流的方法写入文件
var str=""
for(var i=0; i<40;i++){
str+="这是"+i+",将数据保存在这里\n";
}
var ws=fs.createWriteStream('./data.txt')
ws.write(str)
//传入结束时的方法
ws.on('finish',()=>{
console.log("你好1")
})
(3)管道流,就是相当于一条通道,将一个管道的数据传到另外一个管道上
readStream.pipe(ws)//将readStream复制到ws
console.log("执行完毕")