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)