一、fs模块
1、判断路径文件是否存在
const fs = require('fs')
// 判断路径文件是否存在(exists方法已经废弃)
let exists = fs.existsSync('../files/1.txt')
console.log(exists)
2、读取文件
const fs = require('fs')
/**
* readFile(filename,[options],callback);
* filename, 必选参数,文件名
* [options],可选参数,可指定flag 默认为‘r’,encoding 默认为null,在读取的时候,需要手动指定
* callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据
*/
fs.readFile('../files/1.txt', 'utf8', (err, dataStr) => {
// 成功则err为 null
// 读取失败则err为错误对象,dataStr为undefined
if(err){
console.log('读取文件失败', err)
}else{
console.log('读取文件成功,读取结果为:', dataStr)
}
})
3、写入文件
注意:
a、fs.writeFile方法只能用于创建文件,不能创建路径
b、重复调用fs.writeFile方法写入同一个文件,新得内容会覆盖旧的内容
const fs = require('fs')
/**
* fs.writeFile(filename,data,[options],callback);
* filename, 必选参数,文件名
* data, 写入的数据,可以字符或一个Buffer对象
* [options],flag 默认‘2’,mode(权限) 默认‘0o666’,encoding 默认‘utf8’
* callback 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。
*/
fs.writeFile('../files/12.txt','Hello World', 'utf8', (err) => {
if(err) return console.log('写入未成功', err.message)
console.log('写入成功')
})
二、path模块
const path = require('path')
console.log(__dirname) // 当前文件路径
//path.join()用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是"\"。
// '../'会使前面的路径回退一级
const pathStr = path.join(__dirname, '../', '/files/1.txt')