iT邦幫忙

DAY 22
0

Node.js 系列學習日誌系列 第 22

Node.js 系列學習日誌 #22 - 核心模組檔案系統 fs

  • 分享至 

  • xImage
  •  

node.js 提供了檔案操作的模組,包含讀取、刪除、寫入、更名等等的檔案操作。其中 fs 模組他還提供了同步與非同步的方法來使用。他的方法名稱也相當好懂,如果是非同步那麼就 fs.readFile() ,同步的話就是 fs.readFileSync(),相當好區別。本章節將會介紹檔案系統的基本操作,如:

讀取檔案 fs.readFile
寫入檔案 fs.writeFile
附加檔案內容 fs.appendFile
更名檔案 fs.rename
刪除檔案 fs.unlink

首先我們先建立一個 nodejs-fs 目錄夾,預設檔案結構如下:

content.txt , test.txt 簡單預設寫一些內文,就可以進行以下的檔案系統相關操作:

在操作的宣告裡面,在 index.js 檔案,首先務必要檔案檔案系統模組

var fs = require(‘fs’);

接著我們就可以使用 fs 所提供的方法,方法可參考 http://nodejs.org/api/fs.html

讀取檔案 fs.readFile

var fs = require('fs’); //載入檔案系統模組
//讀取  content.txt 檔案內容
fs.readFile('content.txt', 'utf-8’, function(err, data){
     //若有錯誤就列印訊息
     if (err) {
          console.error(err);
     } else {


          //將檔案內容輸入
          console.log(data);
     }
});

寫入檔案 fs.writeFile

var data1 = "hello, ithome 鐵人賽”;
fs.writeFile(__dirname + '/content.txt', data1, function(err){
     if (err) {
          console.error(err)
     }
});

附加檔案內容 fs.appendFile

var data2 = "的主計林車修該自是";
fs.appendFile(__dirname + '/content.txt', data2, function(err){
     if (err) {
          console.error(err)
     }
});

更名檔案 fs.rename

var oldpath = "content.txt";
var newpath = "content2.txt";
fs.rename(oldpath, newpath, function(err){
     if (err)
          throw err;


       fs.stat('content.txt', function (err, stats) {
         if (err)
              throw err;

         //將檔案的狀態顯示出來
         console.log('stats: ' + JSON.stringify(stats));
       });
});

顯示的檔案狀態

stats: {"dev":16777218,"mode":33204,"nlink":1,"uid":501,"gid":20,"rdev":0,"blksize":4096,"ino":33307834,"size":1254,"blocks":8,"atime":"2014-10-21T14:25:18.000Z","mtime":"2014-10-21T14:24:56.000Z","ctime":"2014-10-21T14:24:56.000Z"}

刪除檔案 fs.unlink

fs.unlink('test.txt', function (err) {
  if (err) throw err;
  console.log('successfully deleted test.txt');
});

不要走開~馬上回來 ... 下集待續

參考資料:
http://nodejs.org/api/fs.html


上一篇
Node.js 系列學習日誌 #21 - 使用 nodemailer 套件透過 gmail 發送電子信箱
下一篇
Node.js 系列學習日誌 #23 - 讀取 markdown 檔案內容顯示在頁面上
系列文
Node.js 系列學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言