目录
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