fs文件系统模块
fs模块是Node.js官方提供的、用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
//导入fs模块,在安装node.js时就已经安装了fs模块
const fs = require('fs')
//或者
//要注意在package,json中添加type:module。因为node默认CommonJS规范,而import是ES6规范
import fs from "fs";
(1)fs读取文件内容 fs.readFile()方法
// const fs = require('fs')
import fs from "fs";
//function是回调函数,err是一个对象,datastr是一个变量
fs.readFile('./files/1.txt','utf8',function(err,datastr){
if(err){
return console.log('读取文件失败!' + err.message);
}
console.log('读取文件成功!' + datastr);
})
(2)fs写入文件内容 fs.writeFile()方法
const fs = require('fs')
//err是一个错误对象
fs.writeFile('./files/3.txt','aaaaa',function(err){
if(err){
return console.log('写入文件失败!' + err.message);
}
console.log('写入文件成功!');
})
(3)成绩整理案列
//04.成绩整理.js
const fs = require('fs')
fs.readFile('./files/成绩.txt','utf8',function(err,datastr){
if(err){
return console.log('文件读取失败!' + err.message);
}
const dataOld = datastr.split(' ');
const datanew = [];
dataOld.forEach(item =>{
datanew.push(item.replace('=',':'))
})
// \r\n代表换行
const data = datanew.join('\r\n');
console.log(data);
fs.writeFile('./files/成绩ok.txt',data,function(err){
if(err){
return console.log('文件写入失败!' + err.message);
}
console.log('文件写入成功!');
})
})
fs模块-路径动态拼接的问题
__dirname:表示当前文件所处的目录
fs.readFile(__dirname + './files/1.txt','utf8',function(err,datastr){
if(err){
return console.log('读取文件失败!' + err.message);
}
console.log('读取文件成功!' + datastr);
})
path路径模块
path模块是Node.js官方提供的、用来处理路径的模块,它提供了一系列的方法和属性,用来满足用户对路径的处理需求
//导入path模块
const path = require('path')
(1)path.join()方法:拼接多个路径
const pathStr = path.join(__dirname,'./files/1.txt')
(2)path.basename()方法:可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名
const path = require('path')
const fpath = '/a/b/c/index.html'
var fullName = path.basename(fpath)
console.log(fullName);//index.html
var nameWithExt = path.basename(fpath,'.html')
console.log(nameWithExt);//index
(3)path.extname()方法:获取路径中的扩展名部分
const fext = path.extname(fpath)
console.log(fext);//.html