国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JS > 正文

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

2024-05-06 16:34:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

Nodejs導(dǎo)入文件系統(tǒng)模塊(fs)語(yǔ)法如下所示:

var fs = require("fs");

異步和同步

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

異步的方法函數(shù)最后一個(gè)參數(shù)為回調(diào)函數(shù),回調(diào)函數(shù)的第一個(gè)參數(shù)包含了錯(cuò)誤信息(error)。同步則沒(méi)有回調(diào)函數(shù)。

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

打開(kāi)文件

語(yǔ)法如下:

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

     path - 文件的路徑。

     mode - 設(shè)置文件模式(權(quán)限),文件創(chuàng)建默認(rèn)權(quán)限為0666(可讀,可寫(xiě))。

     callback - 回調(diào)函數(shù),帶有兩個(gè)參數(shù)如:callback(err,fd)

     flags - 文件打開(kāi)的行為。具體如下:

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

獲取文件信息

語(yǔ)法如下:

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

fs.stat(path)執(zhí)行后,會(huì)將stats類的實(shí)例返回給其回調(diào)函數(shù)。可以通過(guò)stats類中的提供方法判斷文件的相關(guān)屬性。

stats類中的方法有:

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

寫(xiě)入文件

語(yǔ)法如下:

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

如果文件存在,該方法寫(xiě)入的內(nèi)容會(huì)覆蓋舊的文件內(nèi)容。

     data -要寫(xiě)入文件的數(shù)據(jù),可以是String(字符串)或Buffer(流)對(duì)象。

     options - 該參數(shù)是一個(gè)對(duì)象,包含{encoding,mode,flag}。默認(rèn)編碼為utf8,模式為0666,flag為'w';

追加內(nèi)容

語(yǔ)法如下:

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

讀取文件

語(yǔ)法如下:

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

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

     buffer - 數(shù)據(jù)寫(xiě)入的緩沖區(qū)。

     offset - 緩沖區(qū)寫(xiě)入的寫(xiě)入偏移量。

     length - 要從文件中讀取的字節(jié)數(shù)。

     position - 文件讀取的起始位置,如果 position 的值為 null,則會(huì)從當(dāng)前文件指針的位置讀取。

     encoding,編碼格式,該項(xiàng)是可選的。

關(guān)閉文件

語(yǔ)法如下:

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

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

截取文件

語(yǔ)法如下:

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

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

      len - 文件內(nèi)容截取的長(zhǎng)度。

刪除文件

語(yǔ)法如下:

fs.unlink(path,callback);

創(chuàng)建目錄

語(yǔ)法如下:

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

mode - 設(shè)置目錄權(quán)限,默認(rèn)為 0777。

讀取目錄

語(yǔ)法如下:

fs.readdir(path,callback);

刪除目錄

語(yǔ)法如下:

fs.rmdir(path,callback);

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新建县| 禄劝| 义乌市| 恩平市| 会昌县| 离岛区| 湘乡市| 哈尔滨市| 通河县| 兰州市| 玛沁县| 会东县| 麟游县| 泊头市| 保定市| 泽库县| 柳州市| 通许县| 若羌县| 茂名市| 桦南县| 易门县| 扎兰屯市| 拉萨市| 通江县| 延庆县| 改则县| 武山县| 缙云县| 余江县| 樟树市| 中宁县| 青川县| 镇平县| 固镇县| 万源市| 阳西县| 宽城| 西藏| 苍溪县| 鹤峰县|