麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

Node.js中文件操作模塊File System的詳細介紹

2019-11-19 18:07:56
字體:
來源:轉載
供稿:網友

File System的縮寫是fs,該模塊提供本地文件的讀寫能力。

Nodejs導入文件系統模塊(fs)語法如下所示:

var fs = require("fs");

異步和同步

Node.js文件系統(fs模塊)模塊中的方法均有異步和同步版本,例如讀取文件內容的函數有異步的fs.readFile()和同步的fs.readFileSync()

異步的方法函數最后一個參數為回調函數,回調函數的第一個參數包含了錯誤信息(error)。同步則沒有回調函數。

建議大家是用異步方法,比起同步,異步方法性能更高,速度更快,而且沒有阻塞。

打開文件

語法如下:

fs.open(path,flags[,mode],[callback(err,data)]);//異步

     path - 文件的路徑。

     mode - 設置文件模式(權限),文件創建默認權限為0666(可讀,可寫)。

     callback - 回調函數,帶有兩個參數如:callback(err,fd)

     flags - 文件打開的行為。具體如下:

flag description
r 以讀取模式打開文件。如果文件不存在拋出異常。
r+ 以讀寫模式打開文件。如果文件不存在拋出異常。
rs 以同步的方式讀取文件。
rs+ 以同步的方式讀取和寫入文件。
w 以寫入模式打開文件,如果文件不存在則創建。
wx 類似 ‘w',但是如果文件路徑存在,則文件寫入失敗。
w+ 類似 ‘w+', 但是如果文件路徑存在,則文件讀寫失敗。
wx+ 類似 ‘w+', 但是如果文件路徑存在,則文件讀寫失敗。
以追加模式打開文件,如果文件不存在則創建。
ax 類似 ‘a', 但是如果文件路徑存在,則文件追加失敗。
a+ 以讀取追加模式打開文件,如果文件不存在則創建。
ax+ 類似 ‘a+', 但是如果文件路徑存在,則文件讀取追加失敗。

獲取文件信息

語法如下:

fs.stat(path,[callback(err,stats)]);//異步

fs.stat(path)執行后,會將stats類的實例返回給其回調函數。可以通過stats類中的提供方法判斷文件的相關屬性。

stats類中的方法有:

方法 描述
stats.isFile() 如果是文件返回 true,否則返回 false。
stats.isDirectory() 如果是目錄返回 true,否則返回 false。
stats.isBlockDevice()  如果是塊設備返回 true,否則返回 false。
stats.isCharacterDevice() 如果是字符設備返回 true,否則返回 false。
stats.isSymbolicLink() 如果是軟鏈接返回 true,否則返回 false。
stats.isFIFO()  如果是FIFO,返回true,否則返回 false。FIFO是UNIX中的一種特殊類型的命令管道。
stats.isSocket()  如果是 Socket 返回 true,否則返回 false。

寫入文件

語法如下:

fs.writeFile(filename,data[,options],[callback]);//異步fs.writeFileSync(filename,data); //同步

如果文件存在,該方法寫入的內容會覆蓋舊的文件內容。

     data -要寫入文件的數據,可以是String(字符串)或Buffer(流)對象。

     options - 該參數是一個對象,包含{encoding,mode,flag}。默認編碼為utf8,模式為0666,flag為'w';

追加內容

語法如下:

fs.appendFile(filename,data[,options],[callback]);//同步fs.appendFileSync(filename,data[,options]); //同步

讀取文件

語法如下:

fs.read(fd,buffer,offset,length,position,[callback]);//異步var buf = fs.readFile(filename,[encoding],[callback(err,data)]);//異步讀取var buf = fs.readFileSync(filename,[encoding]);//同步讀取

     fd - 通過 fs.open() 方法返回的文件描述符。

     buffer - 數據寫入的緩沖區。

     offset - 緩沖區寫入的寫入偏移量。

     length - 要從文件中讀取的字節數。

     position - 文件讀取的起始位置,如果 position 的值為 null,則會從當前文件指針的位置讀取。

     encoding,編碼格式,該項是可選的。

關閉文件

語法如下:

fs.close(fd,callback);//異步

      fd - 通過 fs.open() 方法返回的文件描述符。

截取文件

語法如下:

fs.ftruncate(fd,len,callback);//異步

      fd - 通過 fs.open() 方法返回的文件描述符。

      len - 文件內容截取的長度。

刪除文件

語法如下:

fs.unlink(path,callback);

創建目錄

語法如下:

fs.mkdir(path[,mode],callback);

mode - 設置目錄權限,默認為 0777。

讀取目錄

語法如下:

fs.readdir(path,callback);

刪除目錄

語法如下:

fs.rmdir(path,callback);

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费观看黄视频 | 91精品国产综合久久婷婷香蕉 | 国产一区二区精品在线观看 | 国产羞羞网站 | 久草在线免费看 | 欧美久久久久久久久 | 国产人成免费爽爽爽视频 | 久久久久久三区 | 欧美成人精品一级 | 国产一区二区三区网站 | 久久国产精品免费视频 | 欧美毛片 | 性爱视频在线免费 | 国产精品手机在线亚洲 | 日韩一级免费毛片 | 国产亚洲精品久久777777 | 久久国产亚洲精品 | 色人阁导航 | 亚洲国产高清自拍 | 在线日韩av电影 | 黑人一级片视频 | 在线a亚洲视频播放在线观看 | 日本不卡一区二区三区在线观看 | 中文字幕激情视频 | 成人片免费视频 | 日日狠狠久久 | 日韩字幕在线 | 成人黄视频在线观看 | 色婷婷久久久亚洲一区二区三区 | 91精品国产91 | a一级黄| 欧美一区二区三区久久精品视 | 亚洲网站在线播放 | 国产一及毛片 | www亚洲免费 | av视屏| 日韩在线毛片 | 日韩毛片在线看 | 久久蜜桃香蕉精品一区二区三区 | 免费在线观看亚洲 | 黄色网址免费入口 |