Node学习(二)02-node核心模块之fs模块——fs.readFile()-异步读取文件& fs.writeFile()-异步写入文件-会覆盖文件中原内容 & if写法之return和throw

Node学习(二)02-node核心模块之fs模块——fs.readFile()-异步读取文件 & fs.writeFile() – 异步写入文件-会覆盖掉文件中原有的内容 & if多种写法之return和throw

2.3.2 fs模块

文件操作模块


  • 使用方法

    • 加载模块

      // 引入模块,引入模块的时候,可以使用var、let,但是建议使用const,因为我们不希望它改变
      const fs = require('fs');
      
    • 调用fs模块的方法,下面列举fs模块中的常用方法

      API作用备注
      fs.access(path, callback)判断路径是否存在
      fs.appendFile(file, data, callback)向文件中追加内容
      fs.copyFile(src, callback)复制文件
      fs.mkdir(path, callback)创建目录
      fs.readDir(path, callback)读取目录列表
      fs.rename(oldPath, newPath, callback)重命名文件/目录
      fs.rmdir(path, callback)删除目录只能删除空目录
      fs.stat(path, callback)获取文件/目录信息
      fs.unlink(path, callback)删除文件
      fs.watch(filename[, options][, listener])监视文件/目录
      fs.watchFile(filename[, options], listener)监视文件
示例

fs模块-效果

在这里插入图片描述

新建文件 test.txt

hello world

同层级目录中,新建如下文件

示例01、fs模块.js

  • readFile – 异步读取文件
    // fs 就是文件系统,所以fs模块的API都和文件或目录相关
    const fs = require('fs');
    
    // 调用fs的方法
    
    // 1. readFile -- 异步读取文件
    /**
     * fs.readFile('被读取的文件路径', [utf-8], (err, data) => {
     *     err : 表示错误信息,如果没有错误,err的值是null
     *     data: data就是读取的结果
     * });
     */
    fs.readFile('test.txt', (err, data) => {
        if (err) {
            // 说明有错误发生
            console.log(err);
        } else {
            console.log(data); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
            console.log(data.toString()); // hello world 等价下方
        }
    });
    
    fs.readFile('./test.txt', 'utf-8', (err, data) => {
        if (err) {
            // 说明有错误发生
            console.log(err);
        } else {
            console.log(data); // hello world   等价上方
        }
    });

新建文件 abc.txt

nice to meet you

同层级目录中,新建如下文件

示例02、fs模块.js

  • 会覆盖掉文件中原有的内容
    const fs = require('fs');
    
    // fs.writeFile() -- 异步写入文件(会覆盖掉文件中原有的内容;如果文件不存在,会自动创建文件)
    
    /**
     * fs.writeFile('文件路径', '写入的内容', (err) => {
     *     err : 错误信息,如果没有错误,err的值为null
     * });
     */
    
    fs.writeFile('./abc.txt', 'hello你好', (err) => {
        if (err) {
            console.log(err);
        } else {
            console.log('写入成功')
        }
    });
    
    fs.writeFile('./abc.txt', 'nice to meet you', (err) => {
        // 如果有错误,则输出错误信息,并终止程序执行
        if (err) {  // 写法一
            console.log(err);
            return
        }
        if (err) {  // 写法二
            return console.log(err);  
        }
        if (err) return console.log(err);  // 写法三
        // 如果没有错误,不能进入上面的if区间,输出 “写入成功”
        console.log('写入成功');
    });
    
    fs.writeFile('./abc.txt', 'nice to meet you', (err) => {
        // 如果有错误,则输出(抛出)错误信息,并终止程序执行
        if (err) throw err;  // 写法四
        // 如果没有错误,不能进入上面的if区间,输出 “写入成功”
        console.log('写入成功');
    });
实例

1

    // readFile -- 异步读取文件
    /**
     * fs.readFile('被读取的文件路径', [utf-8], (err, data) => {
     *     err : 表示错误信息,如果没有错误,err的值是null
     *     data: data就是读取的结果
     * });
     */
    // fs.readFile('test.txt', (err, data) => {
    //     if (err) {
    //         // 说明有错误发生
    //         console.log(err);
    //     } else {
    //         console.log(data); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
    //         console.log(data.toString()); // hello world
    //     }
    // });
    
    fs.readFile('./test.txt', 'utf-8', (err, data) => {
        if (err) {
            // 说明有错误发生
            console.log(err);
        } else {
            console.log(data); // hello world
        }
    });

2

   // writeFile -- 异步写入文件
   /**
    * fs.writeFile('文件路径', '写入的内容', (err) => {
    *     err : 错误信息,如果没有错误,err的值为null
    * });
    */
   
   //  fs.writeFile('./abc.txt', 'hello你好', (err) => {
   //      if (err) {
   //          console.log(err);
   //      } else {
   //          console.log('写入成功')
   //      }
   //  });
   
   /* fs.writeFile('./abc.txt', 'nice to meet you', (err) => {
       // 如果有错误,则输出错误信息,并终止程序执行
       if (err)  return console.log(err);
       // 如果没有错误,不能进入上面的if区间,输出 “写入成功”
       console.log('写入成功');
   }); */
   
   fs.writeFile('./abc.txt', 'nice to meet you', (err) => {
       // 如果有错误,则输出(抛出)错误信息,并终止程序执行
       if (err) throw err;
       // 如果没有错误,不能进入上面的if区间,输出 “写入成功”
       console.log('写入成功');
   });
   ```

('./abc.txt', 'nice to meet you', (err) => {
       // 如果有错误,则输出(抛出)错误信息,并终止程序执行
       if (err) throw err;
       // 如果没有错误,不能进入上面的if区间,输出 “写入成功”
       console.log('写入成功');
   });
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值