Node.js简单文件,流式文件的读取

ZCQ
日期:2021年1月30日

简单文件的读取:

例1:显示一段文本


fs.readFile("hi3.txt",function(err,data){
    if(!err){   
        console.log(data.toString());   //data原本是个buffer     
    }
})

例2:将图片123.jpg复制一个并命名234.jpg


var fs=require("fs");
fs.readFile("123.jpg",function(err,data){
    if(!err){
        fs.writeFile("234.jpg",data,function(err){
            if(!err){
                console.log("写入成功");
            }
        })
    }
})
//123.jpg和234.jpg都在当前文本文件中

流式文件的读取

使用于大文件,可以分多次将文件读取到内存中


var fs=require("fs");
//创建一个可读流
var rs=fs.createReadStream("123.jpg");


//创建一个可写流
var ws=fs.createWriteStream("345.jpg");


//监听可读流的开启和关闭
rs.once("open",function()
{
    console.log("可读流打开了~~");
})

rs.once("close",function()
{
    console.log("可读流关闭了~~");
    //数据读取完毕,关闭可写流
    ws.end();
})

//监听可写流的开启和关闭
ws.once("open",function()
{
    console.log("可写流打开了~~");
})

ws.once("close",function()
{
    console.log("可写流关闭了~~");
})




//如果要读取一个可读流中的数据,必须要为可读流绑定一个data事件,data事件绑定完毕,它会自动开始读取数据
rs.on("data",function(data){
    //将读取到的数据data通过可写流写入文件
    ws.write(data);

})



流式文件读取的简单操作(通过pipe())
监听器省略


var fs=require("fs");
//创建一个可读流
var rs=fs.createReadStream("123.jpg");

//创建一个可写流
var ws=fs.createWriteStream("456.jpg");

//pipe可直接将可读流中的数据输入到可写流中
rs.pipe(ws)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南大学苹果实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值