• 用node.js读写文件


    node.js没有二进制数据类型,却提供了类似字节数组的“流“数据类型,着一种数据类型在文件系统模块中频频出现

    • node.js打开文件
    fs = require('fs');
    console.log('准备打开文件');
    fs.open('/etc/hosts','r+',function (err,fd) {
        if (err)
        {
            console.log('damn~打开错误');
        }
        console.log('可以打开');
        fs.close(fd,function (err) {
            if (err)
            {
                console.error(err)
            }
            console.log('顺利关闭')
        });
    });
    • 把文件内容读入缓冲区,并把缓冲区内容解读为utf8模式,(16进制也可以哦)
    fs = require('fs');
    fs.open('/etc/hosts','r+',function (err,fd) {
    var mybuffer = Buffer.alloc(1024);
    offset=0;
    len = mybuffer.length;
    fileposition = null;
    fs.read(fd,mybuffer,offset,len,fileposition,function(err,readByte){
    console.log("可读取数据数量"+readByte);
    var wuwa=mybuffer.slice(0,readByte);
    console.log("缓冲区内容解读前:",wuwa);
    console.log("缓冲区内容解读后:",wuwa.toString('utf8'));
    });
    });

    输出结果:

    可读取数据数量196
    缓冲区内容解读前: <Buffer 31 32 37 2e 30 2e 30 2e 31 20 20 20 6c 6f 63 61 6c 68 6f 73 74 20 6c 6f 63 61 6c 68 6f 73 74 2e 6c 6f 63 61 6c 64 6f 6d 61 69 6e 20 6c 6f 63 61 6c 68 ... 146 more bytes>
    缓冲区内容解读后: 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 coldspring.net taizhouwu.net mydb.net
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    • 异步读取(data仍为缓冲区)
    fs = require('fs');
    fs.readFile('/etc/hosts',function (err,data) {
        if(err)
        {
            console.error(err);
        }
        console.log(data.toString('utf8'));#仍旧是buffer类型,需要转换为utf8类型
    });

    输出结果:

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 相关阅读:
    BZOJ2988 : DIVISORS
    BZOJ1255 : Pku2332 One is good, but two is better
    BZOJ2411 : 黄牌
    BZOJ2887 : 旅行
    BZOJ2353 : 矩形压缩
    BZOJ2997 : 想法计数
    BZOJ2092 : [Poi2010]Lamp
    Potyczki Algorythmiczne 2019
    2019-2020 ICPC Asia Hong Kong Regional Contest
    The 2019 China Collegiate Programming Contest Harbin Site
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/11408535.html
Copyright © 2020-2023  润新知