1.fs模块

  • 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

猜你喜欢

转载自blog.csdn.net/weixin_41641735/article/details/83210617