nodeJS文件系统

1 引入


var fs = require("fs")

2 文件读取


2.1 fs.readFile


我们一般都是用异步来读取文件

异步读取文件内容不需要打开
fs.readFile(filename[, options], function(err,data))

fs.readFile('./test.txt', function(err, data) {
    // 读取文件失败/错误
    if (err) {
        throw err;
    }
    // 读取文件成功
    console.log(data);
});

参数说明

  • 第一个参数:filename String 文件名
  • 第二个参数:option Object
    • encoding String |null default=null 数据的编码方式
    • flag String default='r’
  • 第三个参数:回调函数
    • 第二个参数为读取到的数据data

2.2 fs.read


通过文件描述符 fd 读取文件内容需要打开
fs.read(fd, buffer, offset, length, position, callback)都必须传

var buf = new Buffer.alloc(1024);
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("准备读取文件:");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }
      console.log(bytes + "  字节被读取");
      
      // 仅输出读取的字节
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }
   });
});

参数说明

  • 第一个参数 fd - 通过 fs.open() 方法返回的文件描述符
  • 第二个参数 buffer - 数据写入的缓冲区
  • 第三个参数 offset - 缓冲区写入的写入偏移量
  • 第四个参数 length - 要从文件中读取的字节数
  • 第五个参数 position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
  • 第六个参数 callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。

2.3 fs.readFileSync


同步读取代码(不常用)不需要打开

const data = fs.readFileSync('index.txt')
console.log(data.toString())

参数为读取的文件路径

3 文件写入


3.1 fs.writeFile


异步写入文件内容不需要打开

fs.writeFile(filename, data[, options], callback)

writeFile 直接打开文件默认是 w 模式,所以如果文件存在,该方法写入的内容会覆盖旧的文件内容。如果文件不存在,直接创建文件

fs.writeFile('input.txt', '我是通 过fs.writeFile 写入文件的内容',  function(err) {
   if (err) {
       return console.error(err);
   }
   fs.readFile('input.txt', function (err, data) {
      if (err) {
         return console.error(err);
      }
      console.log("异步读取文件数据: " + data.toString());
   });
});

参数说明

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

3.2 fs.write


通过文件描述符 fd 写入文件内容需要打开
fs.write(fd, data[, position[, encoding]], callback)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值