Node.js系列教程 - 文件系统


文件操作

读取文件

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);

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录