node.js buffer知识 fs 对文件操作以及一些常用函数

node.js buffer知识 fs 对文件操作以及一些常用函数

Buffer(缓冲区)

	- Buffer的结构和数组很像,操作的方法也和数组类似
	- 数组中不能存储二进制的文件,而buffer就是专门用来存储二进制数据
	- 使用buffer不需要引入模块,直接使用即可
	- 在buffer中存储的都是二进制数据,但是在显示时都是以16进制的形式显示
		buffer中每一个元素的范围是从00 - ff   0 - 255
		00000000 - 11111111

		计算机 一个0 或一个1 我们称为1位(bit)

		8bit = 1byte(字节)
		1024byte = 1kb
		1024kb = 1mb
		1024mb = 1gb
		1024gb = 1tb

		buffer中的一个元素,占用内存的一个字节
    buffer 构造函数都不推荐用 已经弃用
	- Buffer的大小一旦确定,则不能修改,Buffer实际上是对底层内存的直接操作

    Buffer.form(str) 将一个字符串转换为buffer
    Buffer.alloc(size) 创建一个指定大小的 Buffer
    Buffer.allocUnsafe(size); 创建一个指定大小的Buffer 但是含数据
    buf.toString()将缓冲区中的数据转换为字符串

文件系统( File System)

    文件系统简单来说就是通过node来操作系统中的文件
    使用文件系统 需要先引入 fs模块  fs是核心模块 不需要下载
文件的写入
        1 打开
        fs.openSync(path[, flags, mode])
            path 要打开文件的路径
            flags 打开文件要做操作的类型 默认 r
                 r 只读
                 w 可写
             mode 设置文件的操作权限 一般不传
           返回值
            返回一个文件的描述符作为结果 可以通过描述符对文件进行各种操作
         2 写入
         fs.writeSync(fd, string[, position[, encoding]])
            fd 文件的描述符,需要传递要写入的文件的描述符
            string 要写入的内容
            position 写入的起始位置
            encoding 写入的编码 默认 utf-8
         3 关闭
         fs.closeSync(fd)
            fd 要关闭的文件的描述符
异步文件写入
    fs.open(path[, flags[, mode]], callback)
    打开一个文件
    异步调用的方法 结果都通过回调函数的参数返回
    回调函数的两个参数
        err 错误对象 没有错误为 null
        fd 文件的描述符
     fs.write(fd, string[, position[, encoding]], callback)
     异步写入一个文件
     fs.close(fd, callback)
     关闭文件
简单文件写入
 fs.writeFile(file, data[, options], callback)
 fs.writeFileSync(file, data[, options])
	- file 要操作的文件的路径
	- data 要写入的数据
	- options 选项,可以对写入进行一些设置 object
	- callback 当写入完成以后执行的函数
flag
		r 只读
		w 可写
		a 追加
流式文件写入

同步、异步、简单文件的写入都不适合大文件的写入、性能较差、容易导致内存溢出
创建一个可写流
fs.createWriteStream(path[, options])
可以用来创建一个可写流
path 文件路径
options 配置参数
可以通过监听流的open 和 close 事件 来监听流的打开和关闭

on(事件字符串,回调函数)
    可以为对象绑定一个事件

once(事件字符串,回调函数)
    可以为对象绑定一个一次性的事件,该事件将在触发一次以后自动失效
文件读取
1 同步文件读取
2 异步文件读取
3 简单文件读取
    fs.readFile(path[, options], callback)
    fs.readFileSync(path[, options])
        path 要读取的文件的路径
        options 读取的选项
        callback 回调函数,通过回调函数将读取到的内容返回
4 流式文件读取
    也适用于一些较大文件 分多次将文件读取的内存中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值