nodejs操作文件系统读取写入文件
nodejs操作⽂件系统读取写⼊⽂件
我们通过fs这个模块来对⽂件系统进⾏操作,对于⽂件系统操作⼀般都有同步、异步⽅法,两者区别,同步等有返回结果时候,在继续执⾏后⾯的代码,异步是不等返回结果,直接执⾏后⾯的代码,待有返回结果时候,通过回调函数来做出处理。⼀般同步⽅法函数名在异步⽅法名字后⾯加Sync,如异步读取⽂件readFile,同步读取⽂件为readFileSync,⼤多数情况⽤异步⽅法、但是读取配置⽂件要⽤同步⽅法。
readFileSync(path,[options])
创aaa.js⽂件
readFile(path,[options],function(err,data){});
var fs= require("fs");
if(err){
console.log("bad")
}else{
三国战记1代
console.log("ok");
console.log(data);
console.String());
}
})
创建aa.txt⽂件
写⼊你好
若我们异步读取两个⽂件,那么这两个⽂件的结果谁先返回,我们是不知道的,这得看⽂件⼤⼩,所以我们要想有先后顺序的读取,那么得在回调函数中写读取第⼆个⽂件
var fs= require("fs");
if(err){
console.log("bad")
}else{
console.log("读取第⼀个⽂件成功");
console.String());
if(err){
console.log("读取第⼆个⽂件失败");
}
if(data){
console.log("读取第2个⽂件成功");
console.log(data);
}
})优酷客户端安装不了
}
})
options
flag:⽂件的操作情况,r表⽰这个⽂件只读,w表⽰写⼊⽂件,a追加⽂件(常⽤的三个)
encoding:读取⽂件⽤的编码,utf-8,base64,ascii我们不指定编码,那么返回的data为⼀个buffer
var fs= require("fs");
if(err){
console.log("bad")
}else{
console.log("读取第⼀个⽂件成功");
console.log(data);
if(err){
console.log("读取第⼆个⽂件失败");
}
if(data){
console.log("读取第2个⽂件成功");
console.log(data);
重阳节发朋友圈的精美句子
}
}
})
writeFile(filename,data,[options],callback)
wrtieFileSync(filename,data,[options])
filename:要写⼊的⽂件
data:写⼊⽂件的数据可以是字符串,可以是buffer
options:flag:对写⼊⽂件的操作默认为w,encoding:编码,mode:权限callback:回调函数
var fs = require("fs");
var data="aa";
fs.writeFile('./aa.txt',data,{flag:'w',encoding:'utf-8',mode:'0666'},function(err){ if(err){
console.log("⽂件写⼊失败")
}else{
console.log("⽂件写⼊成功");
console.log(data)
}
})
var fs = require("fs");
var data="天下太平-追加";
fs.writeFile('./aa.txt',data,{flag:'a',encoding:'utf-8',mode:'0666'},function(err){ if(err){
console.log("⽂件写⼊失败")
}else{
console.log("⽂件追加成功");
console.log(data)
}财务管理专业前景
})
readFile 、writeFile 同时使⽤
读取⼀张图⽚,之后写⼊到另⼀张图⽚
var fs =require("fs");
if(err){
console.log("取图⽚1失败");
}else{
fs.writeFile('./2.png',data,'base64',function(err){
console.log("图⽚2写⼊成功");
})
}
})
writeFile(filename,data,{flag:'a'},callback)与appendFile⼀致
var fs = require("fs");
var data="你好-追加appendFile";
fs.appendFile('./aa.txt',data,function(err){
if(err){
console.log("⽂件写⼊失败")
}else{
console.log("⽂件追加成功");
}
})
从指定位置开始读取⽂件
fs.ad结合实现从指定位置读取⽂件
fs.open(filename,options,[mode],callback)
callback(err,fd)
var fs =require("fs");
fs.open('./aa.txt','r','0666',function(err,fd){
console.log("打开失败");
}else{
console.log(fd);
}
})
fd:ope⽅发返回的⽂件描述符号
buffer:读取的⽂件写到那个缓存区中
offset:从缓存区中那个字节开始写⼊
length:写⼊多长的字节,
pasitong:⽂件指定位置处开始写⼊缓存区
var fs =require("fs");
fs.open('./','r','0666',function(err,fd){
if(err){
console.log("打开失败");
}else{
var buf=new Buffer(128);
console.log(buf)
if(err){
console.log("指定位置读取⽂件失败");
}else{
console.log(bytesRead);
console.log(buf);
}
})
}
})
var bytesRead=readSync(fd,buffer,offset,length,position)
指定位置写数据
fs.open()yu sf.write(fd,buffer,offset,length,position, callback) var fs=require("fs");
/
/这是追加  ‘w’ 是替换原来的⽂件内容
fs.open('./','a','0666',function(err,fd){
if(err){
console.log("打开⽂件失败");情感留言
}else{
var buffer=new Buffer("⼩鸟");
console.log(buffer.length);
fs.write(fd,buffer,0,buffer.length,0,function(err,written,buffer){ if(err){
console.log("指定位置写⼊⽂件失败");
}else{
console.log(written);
中秋节祝福语图片大全 动态
console.String());
}
})
fs.fsync(fd);
fs.close(fd);
}
})
fs.fsync(fd)该⽅法吧缓存区的数据同步到⽂件中
fs.close(fd)关闭⽂件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。