Node.js-入門三--文件I/O

1.文件I/O fs模塊的基本用法


開發中我們經常會有文件I/O的需求,node.js中提供一個名爲fs的模塊來支持I/O操作,fs模塊的文件I/O是對標準POSIX函數的簡單封裝。

2.writeFile函數的基本用法 (寫入文件)


文件I/O,寫入是必修課之一。fs模塊提供writeFile函數,可以異步的將數據寫入一個文件, 如果文件已經存在則會被替換。用法如下:

例:fs.writeFile(filename, data, callback)

  1. var fs= require("fs");
  1.  
  1. fs.writeFile('test.txt', 'Hello Node', function (err) {
  1. if (err) throw err;
  1. console.log('Saved successfully'); //文件被保存
  1. });
  1.  

數據參數可以是string或者是Buffer,編碼格式參數可選,默認爲"utf8",回調函數只有一個參數err。

3.appendFile函數的基本用法(追加寫入)

writeFile函數雖然可以寫入文件,但是如果文件已經存在,我們只是想添加一部分內容,它就不能滿足我們的需求了,很幸運,fs模塊中還有appendFile函數,它可以將新的內容追加到已有的文件中,如果文件不存在,則會創建一個新的文件。使用方法如下:

例:fs.appendFile(文件名,數據,編碼,回調函數(err));

  1. var fs= require("fs");
  2.  
  3. fs.appendFile('test.txt', 'data to append', function (err) {
  4. if (err) throw err;
  5.  
  6. //數據被添加到文件的尾部
  7. console.log('The "data to append" was appended to file!');
  8. });

編碼格式默認爲"utf8"。



4.exists函數的基本用法(文件是否存在)

如何檢查一個文件是否存在呢?我想exists函數可以幫助你,用法如下:

例:fs.exists(文件,回調函數(exists));

exists的回調函數只有一個參數,類型爲布爾型,通過它來表示文件是否存在。

  1. var fs= require("fs");
  2.  
  3. fs.exists('/etc/passwd', function (exists) {
  4. console.log(exists ? "存在" : "不存在!");
  5. });

5.rename函數的基本用法(修改名稱)


修改文件名稱是我們經常會遇見的事情,rename函數提供修改名稱服務:

  1. var fs= require("fs");
  2.  
  3. fs.rename(舊文件,新文件,回調函數(err){
  4. if (err) throw err;
  5. console.log('Successful modification,');
  6. });
6.readFile函數的基本用法        (讀取文件)                            


讀取文件是最常用到的功能之一,使用fs模塊讀取文件語法如下:

例:fs.readFile(文件,編碼,回調函數);

  1. var fs = require('fs');
  2.  
  3. fs.readFile(文件名, function (err, data) {
  4. if (err) throw err;
  5. console.log(data);
  6. });

回調函數裏面的data,就是讀取的文件內容。

7.unlink函數的基本用法                        (刪除文件)            


面對一堆垃圾的文件總是有想刪除的衝動,我有強迫症?你纔有呢。

好在有unlink函數,終於得救了,示例如下:

例:fs.unlink(文件,回調函數(err));

  1. var fs = require('fs');
  2.  
  3. fs.unlink(文件, function(err) {
  4. if (err) throw err;
  5. console.log('successfully deleted');
  6. });
8.mkdir函數的基本用法                             (創建目錄)  


除了針對文件的操作,目錄的創建、刪除也經常遇到的,下面我們來看看node.js中如何創建目錄:

  1. fs.mkdir(路徑,權限,回調函數(err));

參數

  1. 路徑:新創建的目錄。
  2. 權限:可選參數,只在linux下有效,表示目錄的權限,默認爲0777,表示文件所有者、文件所有者所在的組的用戶、所有用戶,都有權限進行讀、寫、執行的操作。
  3. 回調函數:當發生錯誤時,錯誤信息會傳遞給回調函數的err參數。
9.rmdir函數的基本用法                         (刪除目錄)


刪除目錄也是必不可少的功能,rmdir函數可以刪除指定的目錄:

例:fs.rmdir(路徑,回調函數(err));

  1. var fs = require('fs');
  2.  
  3. fs.rmdir(path, function(err) {
  4. if (err) throw err;
  5. console.log('ok');
  6. });
10.readdir函數的基本用法                         (讀取目錄)


如果要讀取目錄下所有的文件應該怎麼辦呢?readdir函數可以讀取到指定目錄下所有的文件,示例如下:

  1. var fs = require('fs');
  2.  
  3. fs.readdir(目錄,回調函數(err,files));

回調函數 (callback) 接受兩個參數 (err, files) 其中 files 是一個存儲目錄中所包含的文件名稱的數組,數組中不包括 '.' 和 '..'。


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