文件操作
读取文件
const fs = require('fs');
fs.readFile('./posts/test.md', (err, data) => {
if(err) {
console.log(err);
}
console.log(data.toString());
// ...
})
写入文件
const fs = require('fs');
fs.writeFile('./posts/test.log', 'test text', () => {
if(err) {
console.log(err);
}
console.log('done');
// ...
})
删除文件
if (fs.existsSync('xxx')) {
fs.unlink('xxx.log', err => {
if (err) {
console.log(err);
}
console.log('deleted');
})
}
目录相关操作
创建目录
监测目录/文件是否存在:fs.existsSync
if (!fs.existsSync('./posts')) {
fs.mkdir('./posts', (err) => {
if(err) {
console.log(err);
}
console.log('done');
})
}
删除目录
fs.rmdir(‘./posts’);
流式操作
在对大文件进行操作时,需要考虑流式操作。
读取/写入流
const fs = require('fs');
const readStream = fs.createReadStream('large_file.log', { encoding: 'utf8'});
const writeStream = fs.createWriteStream('target.log');
readStream.on('data', (chunk) => {
console.log(chunk);
writeStream.write(chunk);
});
管道操作pipe
readStream.pipe(writeStream);