• 【Node.js】第二章 fs文件系统模块


    目录

    2.1  fs文件系统模块

    2.2 读取指定文件readFile

    2.3 写入内容到指定文件writeFile

    2.4 fs处理文件路径问题

    2.5 path路径处理模块


    2.1  fs文件系统模块

    fs文件系统模块是Node.js官方提供给用户用来操作文件的模块。

    读文件:fs.readFile()

    写文件:fs.writeFile()

    调用fs前需要引入fs文件模块:

    const fs = require('fs');

    2.2 读取指定文件readFile

    语法格式:

     示例代码:

    1. const fs = require('fs');
    2. fs.readFile('./download/code/1.txt','utf8', function(err, dataStr){
    3. console.log(err); // 读取失败打印错误对象、读取成功时打印null
    4. // ------
    5. console.log(dataStr); // 读取成功打印
    6. })

     判断文件读取成功与否:

    1. const fs = require('fs');
    2. fs.readFile('.\download\code\1.txt','utf8',function(err, result){
    3. if(err){
    4. return console.log('文件不存在',err.message);
    5. }else{
    6. console.log('文件读取成功',reslut);
    7. }
    8. })

    2.3 写入内容到指定文件writeFile

    writeFile语法格式:

     示例代码:

    1. const fs = require('fs');
    2. fs.writeFile('./download/code/1.txt', 'abcdegf', function(err){
    3. if(err){
    4. return console.log('文件写入失败', err.message);
    5. }else{
    6. console.log('文件写入成功');
    7. }
    8. })

    2.4 fs处理文件路径问题

    由于设置文件的相对路径参数、在node当前路径变化时可能会造成文件读取失败

    解决:可用绝对路径,即路径参数写绝对路径,从分盘符开始写起,并且需要使用转义字符对'\'进行转移,比如:fs.readFile('C:\\download\\code\\1.txt', 'utf8',callback)但可移植性差、维护性差

    更好的解决办法:__dirname

    __dirname表示当前执行文件的路径,再进行读取文件的相对路径的拼接即可成功操作文件

    fs.readFile(__dirname+'/code/1.txt', 'utf8',callback)

    2.5 path路径处理模块

    path是Node.js官方提供的,用来处理路径问题的模块,有一系列的操作方法。如:

    path.join() //用来将多个路径拼接成一个完整的字符串路径

    path.basename() //用来从路径字符串中,把文件名解析出来

    要使用path模块需要提前引入:

    const path = require('path');

    path.join()的使用: 

    path.basename使用示例:

    path.basename可以从文件路径中获取部分文件名称

    1. const path = require('path');
    2. const fpath = './a/b/c/index.html';
    3. const fullName = path.basename(fpath);
    4. console.log(fullName);// index.html
    5. fullName = path.basename(fpath,'html');//去掉文件后缀
    6. console.log(fullName);//index

     path.extname使用示例:

    1. const path = require('path');
    2. const fpath = '/a/b/c/index.html';
    3. const pName = path.extname(fpath);
    4. console.log(pName);// html

  • 相关阅读:
    LINUX异常栈初始化
    56. 合并区间
    实现声明式锁,支持分布式锁自定义锁、SpEL和结合事务
    1数据结构的分类,算法效率的度量
    C语言字符串函数简单介绍
    py之每日spider案例分享
    下册开学期末+CSP-J游记
    大数据学习(18)-任务并行度优化
    JavaScript涉及二进制的转换
    分布式消息队列RocketMQ概念详解
  • 原文地址:https://blog.csdn.net/weixin_41950078/article/details/127794910