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

Node.js學(xué)習(xí)之內(nèi)置模塊fs用法示例

 更新時(shí)間:2020年01月22日 11:43:47   作者:初心不負(fù)  
這篇文章主要介紹了Node.js學(xué)習(xí)之內(nèi)置模塊fs用法,結(jié)合實(shí)例形式詳細(xì)分析了node.js內(nèi)置模塊fs的基本功能、用法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Node.js學(xué)習(xí)之內(nèi)置模塊fs用法。分享給大家供大家參考,具體如下:

IDE為VSCode

.js內(nèi)置的fs模塊就是文件系統(tǒng)模塊,負(fù)責(zé)讀寫文件

'use strict'
var fs = require('fs');
//異步讀取文件(文本)編碼格式指定為utf-8
fs.readFile('sample.txt','utf-8',function(error,data){
  if(error){
    console.log('error');
  }else{
    console.log(data);
  }
});
//異步讀取二進(jìn)制文件返回的data為buffer
fs.readFile('sample.png',function(err,data){
  if(err){
    console.log('error')
  }else{
    console.log(data.length+'bytes');
  }
});
//同步讀取(可以加try),異步不能try,并非立即執(zhí)行不能捕捉
try {
  var data = fs.readFileSync('sample.png');
  console.log(data.length+'bytes');
} catch (error) {
}
//再來(lái)看看寫入文件往一個(gè)文本中寫,該文本的格式要是utf-8,不寫編碼格式默認(rèn)也是utf-8
fs.writeFile('sample.txt','這是我要寫入的文本','utf-8',function(err,data){
  if(err){
    console.log('error');
  }else{
    console.log('success');
  }
})
//同步無(wú)回調(diào),略過(guò)
//查看文件的信息使用stat()比如,也可以使用同步,不一一演示
fs.stat('sample.txt',function(err,stat){
  if(err){
    console.log('error')
  }else{
    //創(chuàng)建時(shí)間
    console.log(stat.birthtime);
    //修改時(shí)間
    console.log(stat.mtime);
    console.log(stat.size);
    console.log(stat.isFile);
  }
})

'use strict'
var fs = require('fs');
//創(chuàng)建一個(gè)文件讀取流,返回一個(gè)ReadStream對(duì)象,可以對(duì)對(duì)象進(jìn)行事件監(jiān)聽,
//data事件表示流的數(shù)據(jù)已經(jīng)可以讀取了,一般會(huì)執(zhí)行多次,end事件表示這個(gè)流已經(jīng)到末尾了,沒(méi)有數(shù)據(jù)可以讀取了,
//error事件表示出錯(cuò)了,chunk是文本流的一部分?jǐn)?shù)據(jù)
var rs = fs.createReadStream('sample.txt','utf-8');
rs.on('data',function(chunk){
  console.log('data:')
  console.log(chunk);
});
rs.on('end',function(){
  console.log('end');
});
rs.on('error',function(error){
  console.log('error');
});
//寫入流(原來(lái)文本文件有內(nèi)容,會(huì)覆蓋掉)
var is = fs.createWriteStream('copy.txt','utf-8');
is.write('我寫點(diǎn)東西');
is.write('我再寫點(diǎn)東西');
is.end;
//我們用pipe()把一個(gè)文件流和另一個(gè)文件流串起來(lái),這樣源文件的所有數(shù)據(jù)就自動(dòng)寫入到目標(biāo)文件里了,所以,這實(shí)際上是一個(gè)復(fù)制文件的程序:
var rs = fs.createReadStream('sample.txt','utf-8');
var is = fs.createWriteStream('copy.txt','utf-8');
rs.pipe(is);
//默認(rèn)情況下,當(dāng)Readable流的數(shù)據(jù)讀取完畢,end事件觸發(fā)后,將自動(dòng)關(guān)閉Writable流。如果我們不希望自動(dòng)關(guān)閉Writable流,需要傳入?yún)?shù)如下
// rs.pipe(is,{end:false});

希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • nodejs爬蟲抓取數(shù)據(jù)亂碼問(wèn)題總結(jié)

    nodejs爬蟲抓取數(shù)據(jù)亂碼問(wèn)題總結(jié)

    這篇文章主要給大家總結(jié)了下nodejs爬蟲抓取數(shù)據(jù)亂碼問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • 詳解nodeJS之二進(jìn)制buffer對(duì)象

    詳解nodeJS之二進(jìn)制buffer對(duì)象

    本篇文章主要介紹了nodeJS之二進(jìn)制buffer對(duì)象,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • NodeJS遠(yuǎn)程代碼執(zhí)行

    NodeJS遠(yuǎn)程代碼執(zhí)行

    這篇文章主要介紹了NodeJS遠(yuǎn)程代碼執(zhí)行方法的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • 使用forever管理nodejs應(yīng)用教程

    使用forever管理nodejs應(yīng)用教程

    這篇文章主要介紹了使用forever管理nodejs應(yīng)用教程,本文介紹了forever的安裝、常用命令等,最有用的莫過(guò)于文件改動(dòng)監(jiān)聽并自動(dòng)重啟了,這可以增加開nodejs應(yīng)用的效率,需要的朋友可以參考下
    2014-06-06
  • Express下采用bcryptjs進(jìn)行密碼加密的方法

    Express下采用bcryptjs進(jìn)行密碼加密的方法

    本篇文章主要介紹了Express下采用bcryptjs進(jìn)行密碼加密的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • node實(shí)現(xiàn)封裝一個(gè)圖片拼接插件

    node實(shí)現(xiàn)封裝一個(gè)圖片拼接插件

    這篇文章主要介紹了node實(shí)現(xiàn)封裝一個(gè)圖片拼接插件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • Node.js中npx命令的使用方法及場(chǎng)景分析

    Node.js中npx命令的使用方法及場(chǎng)景分析

    NPM(Node Package Manager) 是Node.js提供的一個(gè)包管理器, 可以使用 NPM 來(lái)安裝 node.js 包 ,npm 是從5.2版開始, 增加(自帶)了 npx 命令,本文給大家分享Node.js npx命令使用,需要的朋友一起看看吧
    2021-08-08
  • nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)

    nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)

    這篇文章主要介紹了nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • node.js學(xué)習(xí)之交互式解釋器REPL詳解

    node.js學(xué)習(xí)之交互式解釋器REPL詳解

    Node.js REPL(Read Eval Print Loop:交互式解釋器) 表示一個(gè)電腦的環(huán)境,類似Window 系統(tǒng)的終端或 Unix/Linux shell,我們可以在終端中輸入命令,并接收系統(tǒng)的響應(yīng)。下面這篇文章我們就來(lái)詳細(xì)的介紹下關(guān)于node.js交互式解釋器REPL的內(nèi)容,有需要的朋友們可以參考借鑒。
    2016-12-12
  • node.js基于dgram數(shù)據(jù)報(bào)模塊創(chuàng)建UDP服務(wù)器和客戶端操作示例

    node.js基于dgram數(shù)據(jù)報(bào)模塊創(chuàng)建UDP服務(wù)器和客戶端操作示例

    這篇文章主要介紹了node.js基于dgram數(shù)據(jù)報(bào)模塊創(chuàng)建UDP服務(wù)器和客戶端操作,結(jié)合實(shí)例形式分析了node.js使用dgram數(shù)據(jù)報(bào)模塊創(chuàng)建UDP服務(wù)器和客戶端,以及進(jìn)行UDP廣播、組播相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02

最新評(píng)論