- fs.stat 检测是文件还是目录
var fs=require('fs');
fs.stat('file',function(err,stats){
if(err){console.log(err);return}
console.log(stats.isDirectory()); //true 说明是文件夹 不是文件
console.log(stats.isFile()); //false
});
fs.stat('1.txt',function(err,stats){
if(err){console.log(err);return}
console.log(stats.isDirectory()); //false
console.log(stats.isFile()); //true 说明是文件 不是文件夹
});
- fs.mkdir 创建目录
fs.mkdir('newFile',function(err,data){
if(err){console.log(err);return}
console.log(data); //undefined 创建文件夹的成功后的回掉函数形参可以不写~
console.log('创建success!~') //创建success!~
})
- fs.writeFile 创建写入文件
fs.writeFile('newTxt.txt','这个是要写入的内容哟呵~',function(err,data){
//回掉函数,里面的三个参数都必须要有,顺序不能乱,重复执行会覆盖掉前面的
if(err){console.log(err);return}
console.log(data); //undefined 写入成功的回调形参可以不写~!
console.log('创建成功!~')
});
- fs.appendFile 追加文件
var msg='我是不是你最深爱的人,你为什么不说话!~';
for(var i=0;i<10;i++){
fs.appendFile('newTxt.txt',msg,function(err,data){ //如果文件没有创建会自动创建
if(err){console.log(err);return}
console.log(data); //undefined 写入成功的回调形参可以不写~!
console.log('添加成功!~')
});
}
- fs.readFile 读取文件
//参数问题 作为文件 必须指定文件编码 文件不存在或则是文件类型错误会报错!~
fs.readFile('myFile/1.txt','utf-8',function(err,data){
if(err){console.log(err);return};
console.log(data); //这是第一个文件
});
- fs.readdir 读取目录
//一个综合点的demo 注意nodejs的单线程 异步问题
fs.mkdir("myFile",function(err){
if(err){console.log(err);return}
console.log('创建文件夹成功!~')
fs.writeFile('myFile/1.txt','这个是第一个文件',function(err){
if(err)console.log(err);
fs.writeFile('myFile/2.txt','这个是第二个文件',function(err){
if(err)console.log(err);
fs.writeFile('myFile/3.txt','这个是第二个文件',function(err){
if(err)console.log(err);
fs.mkdir("myFile/dir",function(err){
if(err){console.log(err)}
console.log('文件夹创建完毕!~');
fs.readdir('myFile',(err,data)=>{
if(err){console.log(err);return}
console.log(data); //[ '1.txt', '2.txt', '3.txt', 'dir' ]
});
})
})
})
})
})
- fs.rmdir 删除目录
fs.rmdir('myFile',function(err,data){
if(err){console.log(err);return} //directory not empty 必须是空目录才可以删除
console.log(data);
})
- fs.unlink 删除文件
fs.unlink('myFile/1.txt',function(err,data){
if(err){console.log(err);return}
console.log(data); //undefined
})
- fs.rename 重命名 (有剪切的效果)
//有剪切的效果 注意不是copy
fs.rename('myFile/2.txt','2.txt',function(err,data){
if(err){console.log(err);return}
console.log(data);
})
总结 : 原生node fs模块 提供了
1. 增加文件夹:mkdir
2.删除文件夹;rmdir
3.改文件夹名(文件也适用):rename
4.读目录:readdir
5.检测是文件还是文件夹:stat
6.增加创建文件 : writeFile
7.追加写文件内容:appendFile
8.读文件 :readFile
9.删除文件 :unlink