Node.js-第一课 初识 fs文件系统模块 path路径模块

目录

初始Node.js

Node.js是什么?

安装

查看Node版本号 

 node中执行js代码

fs文件系统模块

 导入

 读取指定文件中的内容:readFile

向指定文件中写入内容 writeFile

 path路径模块

导入

路径拼接path.join()

 获取路径中的文件名path.basename()

获取文件拓展名:path.extname


初始Node.js

Node.js是什么?

运行环境-----基于v8引擎的js运行环境

安装

官网:https://nodejs.org/zh-cn/

 下载好后双击

 

查看Node版本号 

在终端输入 node -v

 node中执行js代码

  1. 建一个js文件,内容:console.log('Hello Node.js')
  2.  在终端输入:node 要执行的js文件路径
    (可以cd到对应文件夹下执行:node 文件名.js)

fs文件系统模块

 导入

const fs = require('fs')

 读取指定文件中的内容:readFile

fs.readFile(path[,options],callback)

参数1:path 必选参数,字符串,文件路径

参数2:options 可选参数,表示以什么编码格式来读取

参数3:callback 必选参数。文件读取完成后,调用回调函数拿到读取的结果

示例代码:

// 导入
const fs = require('fs')

// 调用
/* 
参数1:路径
参数2:编码格式。一般utf8
参数3:回调函数
*/
fs.readFile('./files/1.txt','utf-8',function(err,dataStr){
    console.log('失败结果:',err);
    console.log('----------');
    console.log('成功结果:',dataStr);

})

失败

路径匹配失败。导致读取失败:相对路径,会以执行node命令时所处的目录。动态拼接出操作文件的完整路径。最好解决方法见(path模块)
解决:1.提供完整的存放路径。2.__dirname+'/files/1.txt'(双下划线dirname当前文件所在路径)

 成功

向指定文件中写入内容 writeFile

fs.writeFile(file,data[,option],callback)

参数1:path 必选参数,字符串,文件路径

参数2:data 必选参数,写入的内容

参数3:options 可选参数,表示以什么编码格式,默认utf8

参数4:callback 必选参数。写入结果

示例代码:

// 导入
const fs = require('fs')

// 调用
/* 
参数1:存放路径
参数2:要写入的内容
参数3:编码格式。一般utf8
参数4:回调函数,失败结果,成功结果
*/
fs.writeFile('./files123/node写入.txt','这是node的writeFile写入的文件内容','utf-8',function(err){
  /* 
  如果写入成功:null
  如果写入失败:对象
  */
  console.log(err);

})

失败

 成功

 成功的结果

练习案例

获取成绩,修改成绩。写入新文件

// 1 导入
const fs = require('fs')

// 2.调用
fs.readFile('./files/成绩.txt','utf8',(err,dataStr)=>{
    // 3.判断是否读取成功
    if(err){
        return console.log('读取失败!'+err.message);
    }
    // console.log('读取成功!'+dataStr);
    //4 处理数据
    const arrOld = dataStr.split(' ')
    console.log('转为数组:',arrOld);
    const arrNew = []
    arrOld.forEach(item=>{
        arrNew.push(item.replace('=',':'))
    })
    console.log('替换=:',arrNew);
    const newStr = arrNew.join('\r\n')
    console.log('整理后的内容:',newStr);

    //5 写入
    fs.writeFile('./files/成绩-ok.txt',newStr,(err)=>{
        if(err){
            console.log('写入文件失败!'+err.message);
        }
        console.log('写入文件成功!');
    })
})

 

 path路径模块

处理路径的模块,提供了方法和属性,满足用户对路径的处理需求

导入

const path = require('path')

路径拼接path.join()

之后fs的path尽量使用path.join拼接

 const path = require('path')

 const fs = require('fs')
// 注意:../ 会抵消前面的路径
 const pathStr = path.join('/a','b/c','../','/d','/e')
console.log(pathStr);// \a\b\d\e

const pathStr2 = path.join('/a','b/c','../../','/d','/e')
console.log(pathStr2);// \a\d\e


fs.readFile(path.join(__dirname,'/files/1.txt'),'utf8',(err,dataStr)=>{
    if (err) {
        return console.log(`读取文件失败!${err.message}`);
    }
    console.log(`读取文件成功!${dataStr}`);
})

 获取路径中的文件名path.basename()

获取路径中最后的一部分。通常获取文件名

const path = require('path')

const fpath = '/a/b/c/index.html'

const fullName = path.basename(fpath)
console.log(fullName);// index.html

const newTxt = path.basename(fullName,'.html')
console.log(newTxt);// index

获取文件拓展名:path.extname

const fext = path.extname(fpath)
console.log(fext);// index

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高高i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值