nodejs File System 文件系統操作函數分類




文件系統操作相關的函數挺多的。首先可以分爲兩大類。
一類是異步+回調的。 一類是同步的。
在這裏只對異步的進行整理,同步的只需要在函數名稱後面加上Sync即可
1. 首先是一類最常規的讀寫函數,函數名稱和形式,應該是起源於C語言的。
  1. fs.open(文件路徑,讀寫標識,[文件mode值,666],回調函數(err,文件句柄fd));

  2. fs.read(文件句柄fd,被寫入的buffer,offset,length,position,回調函數(err, bytesRead, buffer));

  3. fs.write(文件句柄fd,被讀取的buffer,offset,length,position,回調函數(err,bytesWritten,buffer));

  4. fs.close(文件句柄,回調函數)

  5. fs.truncate(文件句柄,截斷長度,回調函數);

  6. fs.fsync(文件句柄,回調函數);

2. 直接對文件進行讀寫的,用起來比較方便。
  1. fs.readFile(文件名,編碼,回調函數(err,data));

  2. fs.writeFile(文件名,數據,編碼,回調函數(err));

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

3. 其它常用文件操作
  1. 判斷文件是否存在

  2. fs.exists(文件路徑,callback(是否存在));

  3. 重命名

  4. fs.rename(舊文件名,新文件名,回調函數);

  5. 文件所有者變更

  6. fs.chown(文件名,uid,gid,回調函數);/fs.fchown(文件句柄fd,uid,gid,回調函數);/fs.lchown(鏈接路徑,uid,gid,回調函數);

  7. 文件權限變更

  8. fs.chmod(文件名,mode,回調函數);/fs.fchmod(文件句柄,mode,回調函數);/fs.lchmod(鏈接路徑,mode,回調函數);

  9. 文件信息

  10. fs.stat(文件路徑,回調函數(err.fs.Stats對象));/fs.fstat(文件句柄fd,回調函數(err.fs.Stats對象));/fs.lstat(鏈接路徑,回調函數(err.fs.Stats對象));

  11. 文件時間

  12. fs.utimes(文件路徑,訪問時間,新建時間,回調函數);/fs.futimes(文件句柄,訪問時間,新建時間,回調函數);

  13. 監視文件

  14. fs.watchFile(文件名,[options],listener_callback(當前文件的stats,改變前的stats));

  15. fs.unwatchFile(文件名);

4. 目錄操作
  1. fs.mkdir(路徑,權限mode/777,回調函數);

  2. fs.rmdir(路徑,回調函數);

  3. fs.readdir(路徑,回調函數(err,fileNameArray));

5. 鏈接文件操作
  1. 創建一個鏈接

  2. fs.link(srcpath, dstpath, [callback])

  3. fs.symlink(destination, path, [type], [callback])

  4. 讀取鏈接指向的路徑

  5. fs.readlink(path, [callback(err,linkstr)])

  6. fs.unlink(path,[callback]);

6、一個簡單的例子
  1. var fs = require('fs');

  2. // 異步方法使用

  3. fs.exists('/etc/passwd', function (exists) {

  4. if (exists) {

  5. console.log('文件存在');

  6. } else {

  7. console.log('文件不存在');

  8. }

  9. });


  10. // 同步方法使用

  11. var exists = fs.existsSync('/etc/passwd');

  12. if (exists) {

  13. console.log('文件存在');

  14. } else {

  15. console.log('文件不存在');

  16. }


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