1.读取文件
const fs = require('fs');
fs.readFile('./modA.js','utf8', (err,data) => {
if (err) throw err;
console.log(data);
})
// 同步读取
const modb = fs.readFileSync('./modB.js','utf8')
console.log(modb)
2.写文件
const fs = require('fs');
const content = Buffer.from('this is a test.')
fs.writeFile('./test', content, err => {
if (err) throw err;
console.log('ok')
})
3.fs.Stats() 传入对象的类型以及内容。
const fs = require('fs');
fs.stat('./modB.js',(err, stats) => {
if (err) {
console.log('文件不存在');
return;
}
// 是否是文件
console.log(stats.isFile())
// 是否是文件夹
console.log(stats.isDirectory());
console.log(stats);
})
4.fs.rename() 修改文件名
const fs = require('fs');
fs.rename('./test', 'test2.txt', err => {
if(err) throw err;
console.log('ok')
})
5.fs.unlink() 删除文件名
const fs = require('fs');
fs.unlink('test2.txt', err => {})
6.fs.readdir() 查看文件夹的信息
const fs = require('fs');
fs.readdir('./',(err, files) => {
if (err) throw err;
console.log(files)
})
7.fs.mkdir() 创建文件夹
const fs = require('fs');
fs.mkdir('test',err => {
})
8.fs.rmdir() 删除文件夹
const fs = require('fs');
fs.rmdir('test',err => {
})
9.fs.watch()监听文件变化
const fs = require('fs');
fs.watch('./', {
// 指示监听所有子目录
recursive: true
}, (eventType, filename) => {
console.log(eventType, filename)
})
10.fs.createReadStream() 读取文件流,从文件中读取一定范围的字节而不是读取整个文件。
const fs = require('fs');
const rs = fs.createReadStream('./modB.js');
rs.pipe(process.stdout)
11.fs.createWriteStream() 以流的方式写文件,注意写入的必须是字符串或者是buffer,不可以是数字和其他的情况。
const fs = require('fs');
const rs = fs.createWriteStream('./test.txt');
const tid = setInterval(()=>{
const num = parseInt(Math.random()*10);
if(num < 6) {
rs.write(num + "")
} else {
clearInterval(tid);
rs.end()
}
},200)
rs.on('finish',() => {
console.log("finsh!");
})