目录
fs文件系统模块是Node.js官方提供给用户用来操作文件的模块。
读文件:fs.readFile()
写文件:fs.writeFile()
调用fs前需要引入fs文件模块:
const fs = require('fs');
语法格式:

示例代码:
- 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);
- }
- })
writeFile语法格式:

示例代码:
- const fs = require('fs');
- fs.writeFile('./download/code/1.txt', 'abcdegf', function(err){
- if(err){
- return console.log('文件写入失败', err.message);
- }else{
- console.log('文件写入成功');
- }
-
- })
由于设置文件的相对路径参数、在node当前路径变化时可能会造成文件读取失败
解决:可用绝对路径,即路径参数写绝对路径,从分盘符开始写起,并且需要使用转义字符对'\'进行转移,比如:fs.readFile('C:\\download\\code\\1.txt', 'utf8',callback)但可移植性差、维护性差
更好的解决办法:__dirname
__dirname表示当前执行文件的路径,再进行读取文件的相对路径的拼接即可成功操作文件
fs.readFile(__dirname+'/code/1.txt', 'utf8',callback)
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