powershell中往上一層:cd ../,執(zhí)行相對路徑,出現(xiàn)了讀取失敗的情況
修改為絕對路徑:'F:\前端\Node.js基礎\files\1.txt'
絕對路徑容易出錯,最好采用路徑拼接,__dirname代表當前文件所處的目錄
JS
const fs = require('fs')
// 出現(xiàn)路徑拼接錯誤的問題渤刃,是因為出現(xiàn)了./或者../開頭的相對路徑
// './1.text':相對路徑
fs.readFile('./1.txt','utf8',function(err,dataStr){
if(err){
return console.log('讀取失敗贴膘!' + err);
} console.log('讀取成功' + dataStr);
// __dirname 代表當前(路徑拼接.js)文件所處的目錄
console.log(__dirname);
})
// 如果要解決這個問題卖子,可以直接提供一個完整的存放路徑;
// 絕對路徑:'F:\\前端\\Node.js基礎\\files\\1.txt'
fs.readFile('F:\\前端\\Node.js基礎\\files\\1.txt','utf8',function(err,dataStr){
if(err){
return console.log('讀取失斝滔俊洋闽!' + err);
} console.log('讀取成功' + dataStr);
})
// 路徑拼接
// 絕對路徑的移植性非常差,容易寫錯不易于維護突梦;
// __dirname 代表當前(路徑拼接.js)文件所處的目錄
fs.readFile(__dirname + '/1.txt','utf8',function(err,dataStr){
if(err){
return console.log('讀取失斀刖恕!' + err);
}
console.log('讀取成功' + dataStr);
console.log(__dirname);
})
path.basename():獲取路徑的文件名
path.extname():獲取路徑的文件名的后綴名
JS
const fs = require('fs');
const path = require('path');
// 定義文件的存放路徑
const fpath = 'F:/前端/Node.js基礎/files/1.txt';
const fullName = path.basename(fpath);
console.log(fullName);//1.txt
// 只拿到文件名稱宫患,不要后綴名
const nameWithoutExt = path.basename(fpath,'.txt')
console.log(nameWithoutExt);//1
// 只要后綴名刊懈,擴展名,不要文件名稱
const fext = path.extname(fpath)
console.log(fext);//.txt