在客户端javascript脚本代码中,对于二进制数据并没有提供一个很好的支持,但在处理TCP流或文件流时,必须要处理二进制数据。因此在Node.js中定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区。

  • 使用Buffer类的各种构造函数来创建Buffer对象
  • 计算字符串长度以及缓存区长度
  • 实现Buffer对象与字符串之间的相互转换
  • 实现Buffer对象与数值对象之间的相互转换
  • 实现Buffer对象与JSON对象之间的相互转换
  • 将一个Buffer对象中保存的二进制数据复制到另一个Buffer对象中
  • Buffer类的所有类方法以及实现这些类方法

Buffer

  • Node.js中,Buffer类是一个可以在任何模块中被利用的全局类,不需要为了该类的使用而加载任何模块。

  • 可以使用new关键字来创建该类的实例对象

  • Buffer类拥有三种形式的构造函数

    • 只需要将缓存区大小(以字节为单位)指定为构造函数的参数
      BufferName = new Buffer(size);
    

node.js中提供了一个fs模块,以实现文件及目录的读写操作,相关模块path

操作文件

  • 读写整个文件内容

  • 读取文件中的部分内容

  • 在文件中的指定位置处写入内容

  • 创建和读取目录

  • 查看与修改文件或目录

  • 对文件执行其他各种类型的操作

  • 流的基本概念

  • node.js中包括哪些用于读/写流数据的对象,这些对象各自有什么事件与方法

  • 如何使用ReadStream对象WriteStream对象来快速读/写文章

  • 如何利用该模块中的各种方法来进行各种绝对路径、相对路径字符串之间的转换处理及其他各种可以对路径字符串进行的处理

  • 读/写:

    • readFile

    • readFileSync [同步方法]

    • 具体细节查看《Node.js权威指南》,P206

      • 'r' : 读取文件,若文件不存在则抛出异常
      • 'r+' : 读取并写入文件,若文件不存在则抛出异常
      • 'rs' : 以同步方式读取文件并通知操作系统忽略本地系统缓存,若文件不存在则抛出异常
      • 'w' : 写入文件,若文件不存在则创建文件,若文件已存在则清空文件内容
      • 'wx' : 作用与'w'类似,但是以排他方式写入文件
      • 'w+' : 读取并写入文件,若文件不存在则创建文件,若文件已存在则清空文件内容
      • 'wx+' : 作用与'w+'类似,但是以排他方式写入文件
      • 'a' : 追加写入文件,若文件不存在则创建文件
      • 'ax' : 作用与'a'类似,但是以排他方式写入文件
      • 'a+' : 读取并追加写入文件,若文件不存在则创建文件
      • 'ax+' : 作用与'a+'类似,但是以排他方式写入文件
    • writeFile

    • writeFileSync

    • open

    • openSync

    • read

    • readSync

    • write

    • writeSync

    • close

    • mkdir

    • mkdirSync

    • readdir

    • readdirSync

    • stat

    • statSync

    • lstat

    • lstatSYnc

    • fstat

    • fstatSync

    • exists

    • existsSync

    • realpath

    • realpathSync

    • utimes

    • utimsSync

    • futimes

    • futimesSync

    • chmod

    • chomdSync

    • rename

    • renameSync

    • link

    • linkSync

    • unlink

    • unlinkSync

    • symlink

    • symlinkSync

    • readlink

    • readlinkSync

    • truncate

    • truncateSync

    • ftruncate

    • ftruncateSync

    • rmdir

    • rmdirSync

    • watchFile

    • unwatchFile

    • watch

    • createReadStream

    • writeStream