# Node-讀取路徑(Path/fs) ## Path ```javascript= const path = require('path'); ``` ### path.basename(path[, ext]) 取得路徑的最後一部分,第二個參數為檔案格式 ```javascript= path.basename('/foo/bar/baz/asdf/quux.html'); // Returns: 'quux.html' path.basename('/foo/bar/baz/asdf/quux.html', '.html'); // Returns: 'quux' ``` ### path.__dirname(path) 返回路徑的資料夾名稱,路徑必須為string ```javascript= path.dirname('/foo/bar/baz/asdf/quux'); // Returns: '/foo/bar/baz/asdf' ``` ### path.join([...paths]) 將參數內的字串組起來 ```javascript= path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'); // Returns: '/foo/bar/baz/asdf' path.join('foo', {}, 'bar'); // Throws 'TypeError: Path must be a string. Received {}' ``` ## fs ```javascript= const fs = require('fs'); ``` ### fs.existsSync(path) 同步檢查路徑中是否已存在文件,如果有匯回傳true,沒有則回傳false ### fs.mkdirSync(path[, options]) 同步創建目錄,參數一為要建立目錄的位置,參數二為選填,用於確定如何像遞歸地創建目錄等 ### fs.readdir(path[, options], callback) 非同步讀取給定路徑的內容,callback需要兩個參數(err, files) ### fs.writeFileSync(file, data[, options]) 將資料同步寫入文件,參數一為要寫入的路徑,參數二為要寫入的資料 ### fs.readFileSync(path[, options]) 以同步的方式讀取文件 ### fs.createReadStream(path[, options]) 可以打開及讀取內容 ```javascript= let fs = require('fs'), // Use fs.createReadStream() method // to read the file reader = fs.createReadStream('input.txt'); // Read and disply the file data on console reader.on('data', function (chunk) { console.log(chunk.toString()); }); ``` ### fs.createWriteStream(path[, options]) 可將資料寫進文件中,參數一為保存文件的路徑 ```javascript= // Include fs module let fs = require('fs'), // Use fs.createWriteStream() method // to write the file let writer = fs.createWriteStream('test_gfg.txt') // Read and disply the file data on console writer.write('GeeksforGeeks'); ```