定義文件系統(tǒng):
var fs = require('fs')
一渡处、文件夾操作
- 文件系統(tǒng):文件夾和文件操作
var fs = require('fs');
- 文件夾操作
- 創(chuàng)建文件夾
fs.mkdir(dirname,callback)
path:
callback:回調(diào)函數(shù) callback(err)
- 讀取文件夾
fs.readdir(dirname,callback)
path:文件路徑
callback:回調(diào)函數(shù) callback(err,files) files:文件數(shù)組列表
- 刪除空文件夾
fs.rmdir(dirname,callback)
path:文件路徑
callback:回調(diào)函數(shù) callback(err)
二沮尿、文件操作
- 普通文件操作
- 讀取文件內(nèi)容
fs.readFile(filename,callback)
filename:文件名
callback(err,data)
- 向文件中寫入內(nèi)容
fs.writeFile(filename,data,callback)
filename:寫入文件名
data:寫入文件的數(shù)據(jù)(String|Buffer)
callback(err):錯(cuò)誤信息參數(shù)
- 向文件中追加內(nèi)容
fs.appendFile(filename,data,callback)
callback(err)
- 刪除文件
fs.unlink(path,callback)
callback(err)
- 文件字節(jié)操作(更靈活叁丧,也更復(fù)雜)
- 打開(kāi)文件
fs.open(filename, flags[,mode],callback)
path:文件路徑
flags:打開(kāi)方式
r(只讀) r+(讀寫) 文件不存在則拋出異常
w(只寫) w+(讀寫) 文件不存在則創(chuàng)建
wx(只寫) wx+(讀寫) 文件存在咳蔚,寫入失敗
a(追加寫) a+(讀取追加) 文件不存在則創(chuàng)建
ax(追加寫) ax+(讀取追加) 文件存在端三,追加失敗
mode:設(shè)置文件權(quán)限耕挨,默認(rèn)0666
callback:callback(err,fd)
- 讀取文件內(nèi)容
fs.read(fd,buffer,offset,length,position,callback)
fd:文件描述符
buffer:存放讀取文件內(nèi)容后的數(shù)據(jù)
offset:寫入buffer的起始位置
length:文件中讀取的字節(jié)數(shù)
position:文件讀取的起始位置细卧,如果position的值為null,則會(huì)從當(dāng)前文件指針的位置讀取
callback(err,bytesRead,buffer)
err:錯(cuò)誤信息
bytesRead:讀取的字節(jié)數(shù)
buffer:緩沖區(qū)對(duì)象
- 寫入文件內(nèi)容 -buffer
fs.write(fd,buffer,offset,length[,position],callback)
buffer:寫入文件的buffer數(shù)據(jù)(Buffer)
offset:讀取buffer的起始位置
length:寫入文件數(shù)據(jù)的長(zhǎng)度
position:寫入文件的起始位置
callback(err,written,buffer)
err
written:實(shí)際寫入的字節(jié)數(shù)
buffer:寫入的buffer對(duì)象
- 寫入文件內(nèi)容 -data數(shù)據(jù)格式
fs.write(fd,data[,position,callback)
fd:文件描述符
data:寫入文件的數(shù)據(jù)(String)
callback(err, written, buffer)
err:
written:實(shí)際寫入的字節(jié)數(shù)
buffer:寫入的buffer對(duì)象
- 截?cái)辔募?/li>
fs.truncate(fd,len,callback)
fd:文件描述符
len:文件內(nèi)容截取長(zhǎng)度
callback(err)
- 關(guān)閉文件內(nèi)容
fs.close(fd,callback)
- 文件和文件夾共同操作
- 查看文件和文件夾的狀態(tài)
fs.stat(path,callback)
path:路徑|文件
callback:callback(err,stats)
stats:打印信息
stats.isFile()
stats.isDirectory()
- 查看文件與目錄是否存在
fs.exists(path,callback)
callback(bool):存在返回true筒占,不存在返回false
已經(jīng)廢棄 建議采用fs.access(path, callback) 實(shí)現(xiàn)
- 移動(dòng)/重命名文件或目錄
fs.rename(oldPath, newPath, callback)
callback(err)
- 監(jiān)視文件
fs.watchFile(filename[,options],listener)
filename:完整路徑及文件名
options:persistent:true表示持續(xù)監(jiān)視贪庙,不退出程序(如果設(shè)置為false意義何在);interval單位毫秒翰苫,表示每隔多少毫秒監(jiān)視一次文件
linstener:文件發(fā)生變化時(shí)回調(diào) callback(curr,prev)
curr:fs.stat對(duì)象止邮,被修改后文件
prev:fs.stat對(duì)象,被修改前對(duì)象
- 取消監(jiān)視文件
fs.unwatchFile(filename[,listener])
- 監(jiān)視文件或目錄
- filename 可以是一個(gè)文件或一個(gè)目錄
fs.watch(filename[,options][,listener])