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

小柒很爱喵 2022-11-24 21:37:12 阅读数:255

JSnodenode.js第二第二章

目录

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

版权声明:本文为[小柒很爱喵]所创,转载请带上原文链接,感谢。 https://blog.csdn.net/weixin_41950078/article/details/127794910