【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

语法格式:

 示例代码:

const fs = require('fs');
fs.readFile('./download/code/1.txt','utf8', function(err, dataStr){

console.log(err); // 读取失败打印错误对象、读取成功时打印null
// ------
console.log(dataStr); // 读取成功打印

})

 判断文件读取成功与否:

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

2.3 写入内容到指定文件writeFile

writeFile语法格式:

 示例代码:

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

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可以从文件路径中获取部分文件名称

const path = require('path');
const fpath = './a/b/c/index.html';
const fullName = path.basename(fpath);
console.log(fullName);// index.html

fullName = path.basename(fpath,'html');//去掉文件后缀
console.log(fullName);//index

 path.extname使用示例:

const path = require('path');

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

const pName = path.extname(fpath);
console.log(pName);// html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值