美文网首页
fs模块-fs.read的使用案例

fs模块-fs.read的使用案例

作者: 静昕妈妈芦培培 | 来源:发表于2021-03-04 08:52 被阅读0次

    fs.read(fd, buffer, offset, length, position, callback)##

    fd 指定的文件中读取数据。
    buffer 是数据(从 fd 读取)要被写入的 buffer。
    offset 是 buffer 中开始写入的偏移量。
    length 是整数,指定要读取的字节数。
    position 参数指定从文件中开始读取的位置。 如果 positionnull,则从当前文件位置读取数据,并更新文件位置。 如果 position 是整数,则文件位置会保持不变。

    回调有三个参数 (err, bytesRead, buffer)
    如果文件没有被同时地修改,则当读取的字节数为零时,即到达文件的末尾。
    如果调用此方法的 util.promisify() 版本,则返回 Promise(会传入具有 bytesRead 属性和 buffer 属性的 Object)。

    例1:

    const fs = require('fs')
    
    
    //第一步:打开a.text
    fs.open('./a.text', 'r+', (err, fd) => { //flags: 'r+'  打开文件用于读写,修改文件时使用
        if(err) {
            console.error(err)
            return
        }
        console.log('成功了打开了a.text文件,文件修饰符为' + fd)
    
        //第二步:读取文件
        //创建一个buffer类型的变量content来存储读取到的数据
        const content = Buffer.alloc(6)
        console.log(content)
    
        fs.read(fd, content, 0, 6, 24, (err,bytesRead, buffer) => {
            if(err) {
                console.error(err)
                return
            }
            console.log(`读取到的字节数:` + bytesRead)
            //buff和字符串通过'+'拼接,会被转换为字符串,再去拼接
            console.log('读取到的数据是:' + buffer)
            console.log(content)
            console.log('读取成功')
        })
    })
    

    执行结果:


    image.png

    解析:


    image.png

    fs.read(fd, [options,] callback)##

    还可以把buffer,offset,length,position这四个选项单独写到一个对象里,效果一样

    相关文章

      网友评论

          本文标题:fs模块-fs.read的使用案例

          本文链接:https://www.haomeiwen.com/subject/efqxfltx.html