nodejs模块_2_fs

3.6  fs模块——文件系统模块

         用于文件的操作,目录的创建、删除、读取、;文件的创建、读取、写入、删除....

(1)查看文件状态

                   fs.stat(path,callback)     

                            path: 要查看的文件的路径 

                            callback回调函数,用于获取文件状态  function(err,stats)

                                     err: 如果查看失败的错误信息

                                     stats文件的状态信息

                                               isDirectory()  是否为目录

                                               isFile()     是否为文件。

                   fs.statSync(path);       查看文件状态,没有回调函数,直接添加路径查看(主程序执行完再执行)

//引入文件系统模块

const fs=require('fs');

//查看文件状态

//参数1:要查看的文件路径 ./可加可不加

//参数2:回调函数 用于获取文件结果

fs.stat('./module',function(err,stats){  //err:如果查看失败的错误消息

                          if(err) throw err; //throw:抛出错误,阻止往后执行

         console.log(stats);  //stats:文件的状态信息

         console.log(stats.isDirectory());//是否为目录

         console.log(stats.isFile());  //是否为文件

});

//引入fs模块

const fs=require('fs');

//把查看的文件状态保存到变量中,使用方法的返回值获取结果

var stats=fs.statSync('module');

console.log(stats);

  同步和异步

         同步:方法调用后,必须等待方法调用结束,才能继续后边的任务;通过返回值获取结果

    异步:方法调用后无需等待结束,直接执行后续的代码,整个过程不会阻碍后边的任务;通过回调函数获取结果,最后执行,等主程序执行完后执行(排队在队列中)

(2)创建目录

         fs.mkdir(path,callback)   (异步)  / fs.mkdirSync(path)   (同步)

(3)删除目录

         fs.rmdir(path,callback)   (异步)    / fs.rmdirSync(path)   (同步)

//引入fs模块

const fs=require('fs');

//异步,创建目录mydir

fs.mkdir('mydir1',function(err){

         if(err) throw err;

         console.log('目录创建成功!');

});

fs.mkdirSync('mydir2'); //同步,

//引入fs模块

const fs=require('fs');

//异步,删除目录mydir

fs.rmdir('mydir1',function(err){

         if(err) throw err;

         console.log('目录删除成功');

})

fs.rmdirSync('mydir2'); //同步

(4)读取目录

         fs.readdir(path,callback)  (异步)  / readdirSync(path) (同步)

                   callback:

                            err: 可能产生的错误

                            files:读取的结果,格式为数组

//引入fs模块

const fs=require('fs');

//读取目录中的内容,异步

fs.readdir('module',function(err,files){

         if(err) throw err;

         console.log(files);

});

var files=fs.readdirSync('module'); //同步

console.log(files);

(5)清空写入,创建(写入)文件

         fs.writeFile(path,data,callback)     / fs.writeFileSync(path,data)

                   如果文件不存在会创建文件,如果文件已存在,会清空文件内容,然后写入

          PS path:要写入的文件路径    data:要写入的数据     callback:回调函数

(6)追加写入,创建(写入)文件

         fs.appendFile(path,data,callback)  / fs.appendFileSync(path,data)

                   如果文件存在,在文件末尾写入数据,如果文件不存在,会创建文件并写入文件

         PS path:要写入的文件路径    data:要写入的数据     callback:回调函数

//练习:创建数组,包含多个姓名,遍历数组获取每个元素,把每个元素使用同步方法写入到文件data.txt

const fs=require('fs');

var arr=['tom ','jack ','rose ','anny ','sum ','tony '];

for(var i=0;i<arr.length;i++){

         fs.appendFileSync('module/data.txt',arr[i],function(err){

     if(err) throw err;

});  }

(7)读取文件

         fs.readFile(path,callback)    / fs.readFileSync(path)

                   callback:

                            err: 可能产生的错误信息

                            data:读取的文件中的数据,格式为Buffer

//读取文件

fs.readFile('module/data.txt',function(err,data){

         if(err) throw err;

         console.log(data.toString());

});

fs.readFileSync(path);   //同步

 

(8)删除文件

         fs.unlink(path,callback)    /   fs/unlinkSync(path)

//删除文件

fs.unlink('module/1.txt',function(err){

         if(err) throw err;

})

 

(9)判断文件(目录)是否存在   

         fs.existsSync(path)     存在——> true;不存在——>false

//判断文件(目录)是否存在

var res=fs.existsSync('module/new.txt');

//var res=fs.existsSync('module');

console.log(res)

//判断文件2.txt是否存在,如果存在删除,

if(fs.existsSync('module/2.txt')){

         fs.unlink('module/2.txt',function(err){

                   if(err) throw err;      });

//判断目录mydir是否存在,如果不存在创建

if(! fs.existsSync('mydir')){

         fs.mkdir('mydir',function(err){

                   if(err) throw err;      })

 

 

 

异步

同步

查看文件状态

fs.stat(path,callback)

fs.statSync(path)

创建目录

fs.mkdir(path,callback)

fs.mkdirSync(path)

删除目录

fs.rmdir(path,callback)

fs.rmdirSync (path)

读取目录

fs.readdir(path,callback)

fs.readdirSync (path)

清空写入

fs.writeFile(path,data,callback)

fs.writeFileSync (path,data)

追加写入

fs.appendFile(path,data,callback)

fs.appendFileSync (path,data)

读取文件

fs.readFile(path,callback) 

fs.readFileSync (path) 

删除文件

fs.unlink(path,callback)

fs.unlinkSync (path)

判断文件/目录是否存在

fs.existsSync(path)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值