件系統操做相關的函數挺多的。首先能夠分爲兩大類。網絡
一類是異步+回調的。 一類是同步的。app
在這裏只對異步的進行整理,同步的只須要在函數名稱後面加上Sync便可異步
1. 首先是一類最常規的讀寫函數,函數名稱和形式,應該是起源於C語言的。
函數
代碼以下:
fs.open(文件路徑,讀寫標識,[文件mode值,666],回調函數(err,文件句柄fd));
fs.read(文件句柄fd,被寫入的buffer,offset,length,position,回調函數(err, bytesRead, buffer));
fs.write(文件句柄fd,被讀取的buffer,offset,length,position,回調函數(err,bytesWritten,buffer));
fs.close(文件句柄,回調函數)
fs.truncate(文件句柄,截斷長度,回調函數);
fs.fsync(文件句柄,回調函數);
2. 直接對文件進行讀寫的,用起來比較方便。
ui
代碼以下:
fs.readFile(文件名,編碼,回調函數(err,data));
fs.writeFile(文件名,數據,編碼,回調函數(err));
fs.appendFile(文件名,數據,編碼,回調函數(err));
3. 其它經常使用文件操做
編碼
代碼以下:
判斷文件是否存在
fs.exists(文件路徑,callback(是否存在));
重命名
fs.rename(舊文件名,新文件名,回調函數);
文件全部者變動
fs.chown(文件名,uid,gid,回調函數);/fs.fchown(文件句柄fd,uid,gid,回調函數);/fs.lchown(連接路徑,uid,gid,回調函數);
文件權限變動
fs.chmod(文件名,mode,回調函數);/fs.fchmod(文件句柄,mode,回調函數);/fs.lchmod(連接路徑,mode,回調函數);
文件信息
fs.stat(文件路徑,回調函數(err.fs.Stats對象));/fs.fstat(文件句柄fd,回調函數(err.fs.Stats對象));/fs.lstat(連接路徑,回調函數(err.fs.Stats對象));
文件時間
fs.utimes(文件路徑,訪問時間,新建時間,回調函數);/fs.futimes(文件句柄,訪問時間,新建時間,回調函數);
監視文件
fs.watchFile(文件名,[options],listener_callback(當前文件的stats,改變前的stats));
fs.unwatchFile(文件名);
4. 目錄操做對象
代碼以下:
fs.mkdir(路徑,權限mode/777,回調函數);
fs.rmdir(路徑,回調函數);
fs.readdir(路徑,回調函數(err,fileNameArray));
5. 連接文件操做回調函數
代碼以下:
建立一個連接
fs.link(srcpath, dstpath, [callback])
fs.symlink(destination, path, [type], [callback])
讀取連接指向的路徑
fs.readlink(path, [callback(err,linkstr)])
fs.unlink(path,[callback]);同步
本文轉自網絡。