最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年01月05日 10:25:25   作者:Mervyn Zhang  
FileSystem模塊是類似UNIX(POSIX)標準的文件操作API,用于操作文件系統(tǒng)——讀寫目錄、讀寫文件——Node.js底層使用C程序來實現(xiàn),這些功能是客戶端JS所不具備的。下面這篇文章就給大家詳細介紹了Node.js中的文件操作模塊File System,有需要的朋友們可以參考借鑒。

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

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

var fs = require("fs");

異步和同步

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

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

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

打開文件

語法如下:

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

     path - 文件的路徑。

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

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

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

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

獲取文件信息

語法如下:

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

fs.stat(path)執(zhí)行后,會將stats類的實例返回給其回調(diào)函數(shù)??梢酝ㄟ^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); //同步

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

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

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

追加內(nèi)容

語法如下:

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 - 數(shù)據(jù)寫入的緩沖區(qū)。

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

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

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

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

關閉文件

語法如下:

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

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

截取文件

語法如下:

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

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

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

刪除文件

語法如下:

fs.unlink(path,callback);

創(chuàng)建目錄

語法如下:

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

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

讀取目錄

語法如下:

fs.readdir(path,callback);

刪除目錄

語法如下:

fs.rmdir(path,callback);

總結(jié)

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

相關文章

  • Node.js 構(gòu)建命令行工具之實現(xiàn) ls 命令的 -a 和 -l 選項

    Node.js 構(gòu)建命令行工具之實現(xiàn) ls 命令的 -a 和 

    本文介紹了如何使用Node.js實現(xiàn)一個簡單的命令行工具,模仿常用的ls命令,包括其-a和-l參數(shù)的功能,文章詳細講解了命令行參數(shù)的解析、文件類型的判斷、權(quán)限信息的處理、文件鏈接數(shù)和修改時間的格式化等步驟,并提供了完整的代碼實現(xiàn)
    2024-11-11
  • Node.js實現(xiàn)用戶評論社區(qū)功能(體驗前后端開發(fā)的樂趣)

    Node.js實現(xiàn)用戶評論社區(qū)功能(體驗前后端開發(fā)的樂趣)

    這篇文章主要介紹了Node.js實現(xiàn)用戶評論社區(qū)(體驗前后端開發(fā)的樂趣) ,需要的朋友可以參考下
    2019-05-05
  • yarn的使用與升級Node.js的方法詳解

    yarn的使用與升級Node.js的方法詳解

    這篇文章主要給大家介紹了關于yarn的使用與利用yarn升級Node.js的方法,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Nodejs極簡入門教程(二):定時器

    Nodejs極簡入門教程(二):定時器

    這篇文章主要介紹了Nodejs極簡入門教程(二):定時器,本文講解了setTimeout、setInterval、setImmediate及process.nextTick等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • node.js文件操作系統(tǒng)實例詳解

    node.js文件操作系統(tǒng)實例詳解

    這篇文章主要介紹了node.js文件操作,結(jié)合實例形式詳細分析了node.js針對文件的讀取、寫入、刪除、遍歷、監(jiān)控等各種常見操作技巧,需要的朋友可以參考下
    2019-11-11
  • node.js中的fs.openSync方法使用說明

    node.js中的fs.openSync方法使用說明

    這篇文章主要介紹了node.js中的fs.openSync方法使用說明,本文介紹了fs.openSync方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 手把手教你使用TypeScript開發(fā)Node.js應用

    手把手教你使用TypeScript開發(fā)Node.js應用

    為了減少代碼編寫過程中出現(xiàn)的錯誤,以及更好的維護你的項目,本文將手把手教你配置一個簡單的開發(fā)環(huán)境來編寫Node.js的應用程序,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Node.js操作MongoDB數(shù)據(jù)庫實例分析

    Node.js操作MongoDB數(shù)據(jù)庫實例分析

    這篇文章主要介紹了Node.js操作MongoDB數(shù)據(jù)庫,結(jié)合實例形式分析了node.js連接MongoDB數(shù)據(jù)庫以及增刪改查等相關操作技巧,需要的朋友可以參考下
    2020-01-01
  • node.js+npm的環(huán)境配置以及添加鏡像(保姆級教程)

    node.js+npm的環(huán)境配置以及添加鏡像(保姆級教程)

    本文主要介紹了node.js+npm的環(huán)境配置以及添加鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • 詳解在node.js中require方法的加載規(guī)則

    詳解在node.js中require方法的加載規(guī)則

    這篇文章主要介紹了詳解在node.js中require方法的加載規(guī)則,本文一步步解析了require加載規(guī)則,講述了核心的模塊,路徑形式的模塊,第三方模塊等,需要的朋友可以參考下
    2021-06-06

最新評論

天津市| 东乡县| 承德县| 霸州市| 原平市| 龙泉市| 渭源县| 麻栗坡县| 黑山县| 碌曲县| 无棣县| 北安市| 运城市| 绥阳县| 锦州市| 中山市| 平潭县| 察雅县| 霍州市| 抚宁县| 乌拉特前旗| 醴陵市| 木里| 新乐市| 上高县| 浮山县| 盐池县| 靖边县| 民丰县| 三亚市| 洞口县| 绥滨县| 内丘县| 开封县| 泰来县| 新沂市| 永靖县| 溧阳市| 长沙市| 临潭县| 无极县|