欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs 中的讀取文件fs模塊示例詳解

 更新時間:2022年12月19日 14:36:17   作者:尤金前端  
這篇文章主要為大家介紹了nodejs中的讀取文件fs模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

什么是 nodejs?

Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境,nodejs 允許 javascript 代碼運行在服務(wù)端。

nodejs 不是一門新的編程語言,nodejs是在服務(wù)端運行 javascript 的運行環(huán)境

運行環(huán)境:寫得程序想要運行必須要有對應(yīng)的運行環(huán)境

  • php 代碼必須要有 apache 服務(wù)器
  • 在 web 端,瀏覽器就是 javascript 的運行環(huán)境
  • 在服務(wù)端,nodejs 就是 javascript 的運行環(huán)境

javascript 并不只是能運行在瀏覽器端,瀏覽器端能夠運行 js 是因為瀏覽器有 js 解析器,因此只需要有 js 解析器,任何軟件都可以運行 js。

nodejs 可以在服務(wù)端運行 js,因為 nodejs 是基于 chrome v8 的 js 引擎。

global 模塊-全局變量

Node.js 中的全局對象是 global, 類似于瀏覽器中的window。

常用的global屬性

  • console: 用于打印日志
  • setTimeout/clearTimeout: 設(shè)置清除延時器
  • setInterval/clearInterval: 設(shè)置清除定時器
  • __dirname: 當前文件的路徑,不包括文件名
  • __filename: 獲取當前文件的路徑,包括文件名

與模塊化相關(guān)的,模塊化的時候會用到

  • require
  • exports
  • module

fs模塊

fs 模塊是 nodejs 中最常用的一個模塊,因此掌握 fs 模塊非常的有必要,fs 模塊的方法非常多,用到了哪個查哪個即可。

注意:

除了 global 模塊中的內(nèi)容可以直接使用,其他模塊都是需要加載的。 fs 模塊不是全局的,不能直接使用。因此需要導(dǎo)入才能使用。

const fs = require("fs");

讀取文件

語法:fs.readFile(path[, options], callback)

方式一:不傳編碼參數(shù)

//參數(shù)1: 文件的名字
//參數(shù)2: 讀取文件的回調(diào)函數(shù)
  //參數(shù)1:錯誤對象,如果讀取失敗,err會包含錯誤信息,如果讀取成功,err是null
  //參數(shù)2:讀取成功后的數(shù)據(jù)(是一個Buffer對象)
fs.readFile("data.txt", function(err, data){
  console.log(err);
  console.log(data);
});

方式二:傳編碼參數(shù)

//參數(shù)1: 文件的路徑
//參數(shù)2: 編碼,如果設(shè)置了,返回一個字符串,如果沒有設(shè)置,會返回一個buffer對象
//參數(shù)3: 回調(diào)函數(shù)
fs.readFile("data.txt", "utf8",function(err, data){
  console.log(err);
  console.log(data);
});

關(guān)于 Buffer 對象

  • Buffer 對象是 Nodejs 用于處理二進制數(shù)據(jù)的。
  • 其實任意的數(shù)據(jù)在計算機底層都是二進制數(shù)據(jù),因為計算機只認識二進制。
  • 所以讀取任意的文件,返回的結(jié)果都是二進制數(shù)據(jù),即 Buffer 對象
  • Buffer 對象可以調(diào)用 toString() 方法轉(zhuǎn)換成字符串。

寫文件

語法:fs.writeFile(file, data[, options], callback)

//參數(shù)1:寫入的文件名(如果文件不存在,會自動創(chuàng)建)
//參數(shù)2:寫入的文件內(nèi)容(注意:寫入的內(nèi)容會覆蓋以前的內(nèi)容)
//參數(shù)3:寫文件后的回調(diào)函數(shù)
fs.writeFile("2.txt", "hello world, 我是一個中國人", function(err){
  if(err) {
    return console.log("寫入文件失敗", err);
  }
  console.log("寫入文件成功");
});

注意:

寫文件的時候,會把原來的內(nèi)容給覆蓋掉

追加文件

語法:fs.appendFile(path, data[, options], callback)

//參數(shù)1:追加的文件名(如果文件不存在,會自動創(chuàng)建)
//參數(shù)2:追加的文件內(nèi)容(注意:寫入的內(nèi)容會覆蓋以前的內(nèi)容)
//參數(shù)3:追加文件后的回調(diào)函數(shù)
fs.appendFile("2.txt", "我是追加的內(nèi)容", function(err){
  if(err) {
    return console.log("追加文件內(nèi)容失敗");
  }
  console.log("追加文件內(nèi)容成功");
})

文件同步與異步的說明

fs 中所有的文件操作,都提供了異步和同步兩種方式

異步方式: 不會阻塞代碼的執(zhí)行

//異步方式
var fs = require("fs");
console.log(111);
fs.readFile("2.txt", "utf8", function(err, data){
  if(err) {
    return console.log("讀取文件失敗", err);
  }
  console.log(data);
});
console.log("222");

同步方式: 會阻塞代碼的執(zhí)行

//同步方式
console.log(111);
var result = fs.readFileSync("2.txt", "utf-8");
console.log(result);
console.log(222);

總結(jié):

同步操作使用雖然簡單,但是會影響性能,因此盡量使用異步方法,尤其是在工作過程中。

以上就是nodejs 中的讀取文件fs模塊示例詳解的詳細內(nèi)容,更多關(guān)于nodejs 讀取文件fs模塊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • node+multer實現(xiàn)圖片上傳的示例代碼

    node+multer實現(xiàn)圖片上傳的示例代碼

    這篇文章主要介紹了node+multer實現(xiàn)圖片上傳的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • node內(nèi)置調(diào)試方法總結(jié)

    node內(nèi)置調(diào)試方法總結(jié)

    這篇文章主要介紹了node內(nèi)置調(diào)試的方法,并把代碼做了分享,對此有需要的朋友可以參考學(xué)習(xí)下。
    2018-02-02
  • npm報錯"A?complete?log?of?this?run?can?be?found?in:"的解決辦法

    npm報錯"A?complete?log?of?this?run?can?be?found?

    這篇文章主要給大家介紹了關(guān)于npm報錯"A?complete?log?of?this?run?can?be?found?in:"的解決辦法,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-04-04
  • node.js中 stream使用教程

    node.js中 stream使用教程

    Stream 是一個抽象接口,Node 中有很多對象實現(xiàn)了這個接口。例如,對http 服務(wù)器發(fā)起請求的request 對象就是一個 Stream,還有stdout(標準輸出)。
    2016-08-08
  • NodeJS 將文件夾按照存放路徑變成一個對應(yīng)的JSON的方法

    NodeJS 將文件夾按照存放路徑變成一個對應(yīng)的JSON的方法

    這篇文章主要介紹了NodeJS 將文件夾按照存放路徑變成一個對應(yīng)的JSON的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • node.js中的path.dirname方法使用說明

    node.js中的path.dirname方法使用說明

    這篇文章主要介紹了node.js中的path.dirname方法使用說明,本文介紹了path.dirname的方法說明、語法、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js使用Koa搭建 基礎(chǔ)項目

    Node.js使用Koa搭建 基礎(chǔ)項目

    時下前端工程師有很多人比較關(guān)注NodeJs以及express 框架或者Koa 框架之類的新技術(shù)。難得我最近閑時較多,利用一下舊歷新年尚未正式到來的這片閑暇,也來涉足其中,一窺其中奧妙。
    2018-01-01
  • NodeJs實現(xiàn)跨域WebSocket即時通訊加強版

    NodeJs實現(xiàn)跨域WebSocket即時通訊加強版

    這篇文章主要為大家介紹了NodeJs實現(xiàn)跨域WebSocket即時通訊加強版示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 新手必須知的Node.js 4個JavaScript基本概念

    新手必須知的Node.js 4個JavaScript基本概念

    本文介紹了4個基本JavaScript概念,它是你學(xué)習(xí)node.js所必需要掌握,下面就讓我們來看一下具體是哪4個基本JavaScript概念
    2018-09-09
  • 詳解NodeJs支付寶移動支付簽名及驗簽

    詳解NodeJs支付寶移動支付簽名及驗簽

    本文主要介紹了NodeJs支付寶移動支付簽名及驗簽的方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論