Nodejs简单的文件操作
- 监听文件变化
fs.watch('target.txt', () => {
console.log('file changed!');
})
监听target.txt 文件,如果文件内容变化,会调用回调函数。调用完会继续监听,不会退出。
- 接收命令行参数
var filename = process.argv[2];
//执行命令node index.js target.txt ,上面的代码就可以获取到target.txt。
- 创建子进程
fs.watch(filename, () => {
const ls = spawn('ls', ['-l', '-h', filename]); //执行命令 ls -l -h filename
ls.stdout.pipe(process.stdout);
})
- 异步读写文件
const fs = require('fs');
fs.readFile('target.txt', (err, data) => {
if(err) {
throw err;
}
//data是buffer对象
console.log(data.toString());//输出文件内容
});
fs.writeFile('target.txt', 'hello world', (err) => {
if(err) {
throw err;
}
console.log('file saved');
})//把'hello world' 写入target.txt
写入文件时,如果target.txt不存在,则创建一个新的;如果存在,则覆盖它。
readFile和writeFile是一次性读取或写入,适合小文件。
- 创建读写流
require('fs').createReadStream(process.argv[2])
.on('data', (chunk) => {
process.stdout.write(chunk)
}).on('err', (err) => {
console.log(err);
})
简单梳理一下看书学习到的Nodejs基本的文件操作,当做学习笔记吧!如有错误,恳请指正。