node js 文件读写 目录操作

开头写上文件模块fs:

const fs = require('fs')

打开文件

fs.open('input.txt', 'r+', function(err, fd) {})

异步和同步读取:
异步: fs.readFile(),参数是回调函数, 回调函数第一个参数包含错误信息
建议使用异步方法,性能高,速度快, 没有阻塞

判断文件信息:

fs.stat(path, callback)
// 判断是否是文件(isFile), 目录(isDirectory)
fs.stat('a.js', function(err, stats) {
    console.log(stats.isFile())
})

异步写文件

fs.writeFile(file, data[, options], callback)
data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(缓冲) 对象。
options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 ‘w’
callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

文件追加写(在文件后插入):

fs.writeFile('./a.txt', `abcd\n`, {flag: 'a+'}, function (err) {
   if(err) {
     return console.error('Save file fail: ', path, err)
   }
   console.log('File success writed')
 })

文件覆盖写:

fs.writeFile('./a.txt', `abcd\n`, {flag: 'w'}, function (err) {
   if(err) {
     return console.error('Save file fail: ', path, err)
   }
   console.log('File success writed')
 })

异步读取文件

fs.readFile(filename[, options], callback)

文件描述符来读取文件

fs.open('a.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }
      // 关闭文件
      fs.close(fd, function(err){
         if (err){
            console.log(err);
         } 
         console.log("文件关闭成功");
      });
   });
});

删除文件

fs.unlink(path, callback)

创建目录

fs.mkdir(path[, options], callback)

读取目录

fs.readdir(path, callback)

删除目录

fs.rmdir(path, callback)

你可能感兴趣的:(js,javascript,前端,typescript)