NodeIo

Node中的文件操作

如同Java中的文件操作一樣,在Node中,也提供了針對文件的操作。在Node中,文件操作默認使用的是UTF-8編碼,這意味着我們無須再去處理中文亂碼的問題。
針對文件操作,Node提供了一個fs模塊來支持我們操作文件,fs模塊是對標準POSIX函數的簡單封裝。在使用這個模塊時,我們只需要聲明引用即可。

var fs= require("fs");

然後我們就可以調用fs模塊中的方法進行文件操作。

writeFile:異步向文件中寫入數據,如果文件不存在,則會自動創建文件;如果文件存在,則會把文件替換掉。如fs.writeFile(文件名,數據,回調函數(err)),其中數據參數可以是String或者Buffer類型,編碼格式是可選的,默認是UTF-8,回調函數只有一個參數err。

appenFile:向文件中追加內容。如果不存在該文件,則會自動創建新文件;如果已經存在,那就直接在文件尾部追加數據。如fs.appendFile(文件名,數據,編碼,回調函數(err)),編碼格式默認爲UTF-8。

exists:判斷文件是否存在。如fs.exists(文件,回調函數(exists)),該方法的回調函數只有一個參數,是一個boolean類型,通過該值來判斷是否存在。

rename:用來重命名文件,也可以複製文件到指定的目錄下。如果是重命名文件,則是fs.rename(舊文件名,新文件名,回調函數(err));如果是複製文件,則是fs.rename(舊文件的路徑,新路徑,回調函數(err)),注:複製文件時,需要在路徑後面加上文件名,否則會出現錯誤。

readFile:見名之意,這個方法是用來讀取文件的,把文件讀取到緩衝區中,該方法是非阻塞的。fs.readFile(文件名,回調函數(err,data))。

readFileSync:這個方法也是用來讀取文件的,把文件讀取到緩衝區中,但是這個方法是線程阻塞的。fs.readFileSync(文件名)。

read:不斷地將文件中的一小塊內容讀入緩存區,最後從該緩存區中讀取文件內容。fs.read(fd, buffer, offset, length, position, callback)。

unlink:刪除文件,不是用來刪除文件夾。fs.unlink(文件,回調函數(err))。

mkdir:創建目錄。fs.mkdir(路徑,權限,回調函數(err)):路徑是新創建的目錄;權限是可選參數,並且只在Linux目錄下有效,默認是0777,即所有人都擁有讀寫執行的權限;回調函數則是在錯誤發生時,錯誤信息會傳遞給回調函數的err參數。

rmdir:刪除目錄,fs.rmdir(路徑,回調函數(err)),刪除目錄時,需要確定被刪除的目錄是空目錄,否則無法刪除。

readdir:讀取指定目錄下所有的文件,fs.readdir(目錄,回調函數(err,files)):回調函數中的files是一個數組,這個數組是目錄中所包含的文件名稱。

在Node中,還有很多的文件操作方法,詳情可借鑑http://www.runoob.com/nodejs/nodejs-fs.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章