一、fs模塊
1、判斷路徑文件是否存在
const fs = require('fs')
// 判斷路徑文件是否存在(exists方法已經(jīng)廢棄)
let exists = fs.existsSync('../files/1.txt')
console.log(exists)
2、讀取文件
const fs = require('fs')
/**
* readFile(filename,[options],callback);
* filename, 必選參數(shù),文件名
* [options],可選參數(shù),可指定flag 默認為‘r’,encoding 默認為null,在讀取的時候,需要手動指定
* callback 讀取文件后的回調(diào)函數(shù),參數(shù)默認第一個err,第二個data 數(shù)據(jù)
*/
fs.readFile('../files/1.txt', 'utf8', (err, dataStr) => {
// 成功則err為 null
// 讀取失敗則err為錯誤對象,dataStr為undefined
if(err){
console.log('讀取文件失敗', err)
}else{
console.log('讀取文件成功,讀取結(jié)果為:', dataStr)
}
})
3、寫入文件
注意:
a、fs.writeFile方法只能用于創(chuàng)建文件,不能創(chuàng)建路徑
b、重復調(diào)用fs.writeFile方法寫入同一個文件,新得內(nèi)容會覆蓋舊的內(nèi)容
const fs = require('fs')
/**
* fs.writeFile(filename,data,[options],callback);
* filename, 必選參數(shù),文件名
* data, 寫入的數(shù)據(jù),可以字符或一個Buffer對象
* [options],flag 默認‘2’,mode(權(quán)限) 默認‘0o666’,encoding 默認‘utf8’
* callback 回調(diào)函數(shù),回調(diào)函數(shù)只包含錯誤信息參數(shù)(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()用于連接路徑。該方法的主要用途在于,會正確使用當前系統(tǒng)的路徑分隔符,Unix系統(tǒng)是"/",Windows系統(tǒng)是"\"。
// '../'會使前面的路徑回退一級
const pathStr = path.join(__dirname, '../', '/files/1.txt')