引言
瀏覽器中的 JavaScript 是沒有文件操作的能力的,但是 Nodejs 中的 JavaScript 提供了文件操作的能力
在 Node 中如果想要進行文件操作,就必須引入 fs 這個核心模塊,fs 是 file-system 的簡寫,就是文件系統的意思,在 fs 這個核心模塊中,提供了所有的文件操作相關的 API
var fs = require('fs')
讀取文件
// 使用 require 方法加載 fs 核心模塊 var fs = require('fs') // 讀取文件 // 第一個參數就是要讀取的文件路徑 // 第二個參數是一個回調函數 // // 成功 // data 數據 // error null // 失敗 // data undefined沒有數據 // error 錯誤對象 fs.readFile('hello.txt', function (error, data) { if (error) { // 在這里就可以通過判斷 error 來確認是否有錯誤發生 console.log('讀取文件失敗了') } else { // <Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 0d 0a> // 文件中存儲的其實都是二進制數據 0 1 // 這里為什么看到的不是 0 和 1 呢?原因是二進制轉為 16 進制了 // 但是無論是二進制01還是16進制,人類都不認識 // 所以我們可以通過 toString 方法把其轉為我們能認識的字符 console.log(data.toString()) } })
寫文件
var fs = require('fs') // 第一個參數:文件路徑 // 第二個參數:文件內容 // 第三個參數:回調函數 // 成功: // 文件寫入成功 // error 是 null // 失敗: // 文件寫入失敗 // error 就是錯誤對象 fs.writeFile('./data/你好.md', '大家好,給大家介紹一下,我是Node.js', function (error) { if (error) { console.log('寫入失敗') } else { console.log('寫入成功了') } })