node.js 学习第十三天 fs 文件模块

来源:互联网 发布:马伯庸 知乎 编辑:程序博客网 时间:2024/05/18 03:51

一、读取文件的方式

例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。

var fs=require("fs");
//①、文件的读取
fs.readFile('testa.txt',function(err,data) {
if(err){
return console.log(err);
}
console.log("异步-->"+data.toString());
});


var data=fs.readFileSync('test.txt');
console.log("同步-->"+data.toString());


//②、文件的打开关闭
//fs.open('文件的路径','文件打开的行为',
// '设置文件模式','回调函数');
console.log("准备打开文件");
fs.open('test.txt','r+',function(err,fd){
if(err){
console.log(err);
}
console.log("文件打开成功");
});


fs.stat('test.txt',function(err,stats){
console.log("是否是文件-->"+stats.isFile());
});


fs.writeFile('test.txt','动态写入文件',function(err){
if(err){
return console.log(err);
}
console.log('数据写入成功');
fs.readFile('test.txt',function(err,data){
if(err){
return console.log(err);
}
console.log("异步读取数据:"+data.toString());
});
});


//③、读取文件
var buf=new Buffer(1024);
console.log('准备打开文件');
fs.open('test.txt','r+',function(err,fd){
if (err) {
return console.log(err);
};
console.log('准备打开文件成功');
fs.read(fd,buf,0,buf.length,0,function(err,bytes){
if (err) {
console.log(err);
};
console.log('字节的位数-->'+bytes);
if (bytes>0) {
console.log(buf.slice(0,bytes).toString());
};
});


fs.close(fd,function(err){});
});


//④、文件关闭
fs.close(fd,function(err));
//⑤、文件的截取
fs.ftruncate(fd,num,function(err){})
//⑥、文件的删除
console.log('准备删除文件');
fs.unlink('testdel.txt',function(err){
if (err) {
return console.log(err);
};
console.log('文件删除成功');
});
//⑦、创建目录
console.log("创建目录/dir");
fs.mkdir('/temp/test',function(err){
if (err) {
return console.log(err);
};
console.log('创建目录成功');
});
//⑧、读取目录
fs.readdir('Temp',function(err,files){
if (err) {
return console.log(err);
};
files.forEach(function(file){
console.log(file);
});
})
//⑨、删除目录
fs.rmdir('Temp',function(err){
if (err) {
console.log(err);
};
console.log('读取Temp目录');
fs.readdir('Temp',function(err,files){
if (err) {
return console.log(err);
};
files.forEach(function(file){
console.log(file);
});
})
});

0 0