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

Node.js中fs模塊的使用方法

 更新時(shí)間:2022年06月24日 11:37:03   作者:小旭2021  
這篇文章介紹了Node.js中fs模塊的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

引入fs模塊

var fs=require('fs');

1. fs.stat檢測(cè)是文件還是目錄

fs.stat('html/style.css', function (err, stats) {
  if (err) {
    console.log(err);
 
    return false;
  }
 
  console.log('文件:' + stats.isFile()); // true
  console.log('目錄:' + stats.isDirectory()); // false
 
})

2. fs.mkdir 創(chuàng)建目錄

//接收參數(shù):
//path          將創(chuàng)建的目錄路徑
//mode          目錄權(quán)限(讀寫權(quán)限),默認(rèn)0777
//callback      回調(diào),傳遞異常參數(shù)err

fs.mkdir('css', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('創(chuàng)建目錄成功');
})

3. fs.writeFile 創(chuàng)建寫入文件

//filename      (String)               文件名稱
//data          (String | Buffer)      將要寫入的內(nèi)容,可以使字符串 或 buffer數(shù)據(jù)。
//options       (Object)               option數(shù)組對(duì)象,包含:
//· encoding    (string)               可選值,默認(rèn) ‘utf8′,當(dāng)data使buffer時(shí),該值應(yīng)該為 ignored。
//· mode        (Number)               文件讀寫權(quán)限,默認(rèn)值 438
//· flag        (String)               默認(rèn)值 ‘w'
//callback {Function}  回調(diào),傳遞一個(gè)異常參數(shù)err。

fs.writeFile('t.txt', '你好nodejs', 'utf8', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('寫入成功');
})

4. fs.appendFile 追加文件

fs.appendFile('t.txt', '這是追加的內(nèi)容', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('寫入成功');
})

5.fs.readFile 讀取文件

fs.readFile('t.txt', function (err, data) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log(data);
  console.log(data.toString());
})

6.fs.readdir 讀取目錄

把目錄下面的文件和文件夾都獲取到

fs.readdir('html', function (err, data) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log(data);
})

7.fs.rename 重命名

1、改名 

fs.rename('html/index.html', 'html/news.html', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('修改名字成功');
})

2、剪切文件

fs.rename('html/style.css', 'html/test/basic.css', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('剪切成功');
})

8. fs.rmdir 刪除目錄

這個(gè)方法只能刪除目錄,不可以刪除文件

刪除空目錄

fs.rmdir('css', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('刪除目錄成功');
})

9. fs.unlink 刪除文件

fs.unlink('css/1.js', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('刪除文件成功');
})

10. fs.createReadStream 從文件流中讀取數(shù)據(jù)

//流的方式讀取文件
var readStream = fs.createReadStream('input.txt');
var str = '';
//保存數(shù)據(jù)
var count = 0;
//次數(shù)
readStream.on('data', function (chunk) {
  str += chunk;
  count++;
})
 
//讀取完成
readStream.on('end', function (chunk) {
  console.log(count);
  console.log(str);
})
 
//讀取失敗
readStream.on('error', function (err) {
  console.log(err);
})

11. fs.createWriteStream 寫入文件

var data = '我是從數(shù)據(jù)庫(kù)獲取的數(shù)據(jù),我要保存起來(lái)\n';
// 創(chuàng)建一個(gè)可以寫入的流,寫入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt');
for (var i = 0; i < 100; i++) {
  writerStream.write(data, 'utf8');
}
//標(biāo)記寫入完成
writerStream.end();
writerStream.on('finish', function () {
  console.log('寫入完成');
})
//失敗
writerStream.on('error', function () {
  console.log('寫入失敗');
})

12. 管道流

管道提供了一個(gè)輸出流到輸入流的機(jī)制。通常我們用于從一個(gè)流中獲取數(shù)據(jù)并將數(shù)據(jù)傳遞到另外一個(gè)流中。

如上面的圖片所示,我們把文件比作裝水的桶,而水就是文件里的內(nèi)容,我們用一根管子(pipe)連接兩個(gè)桶使得水從一個(gè)桶流入另一個(gè)桶,這樣就慢慢的實(shí)現(xiàn)了大文件的復(fù)制過(guò)程。

以下實(shí)例我們通過(guò)讀取一個(gè)文件內(nèi)容并將內(nèi)容寫入到另外一個(gè)文件中。

// 創(chuàng)建一個(gè)可讀流
var readerStream = fs.createReadStream('input.txt');
// 創(chuàng)建一個(gè)可寫流
var writerStream = fs.createWriteStream('output.txt');
// 管道讀寫操作
// 讀取 input.txt 文件內(nèi)容,并將內(nèi)容寫入到 output.txt 文件中
readerStream.pipe(writerStream);
console.log("程序執(zhí)行完畢");

Demo

判斷服務(wù)器上面有沒有upload目錄。沒有創(chuàng)建這個(gè)目錄

var fs = require('fs');
fs.stat('upload', function (err, stats) {
  if (err) {  // 沒有這個(gè)目錄
    fs.mkdir('upload', function (error) {
      if (error) {
        console.log(error);
        return false;
      }
      console.log('創(chuàng)建成功');
    })
  } else {
    console.log('目錄已經(jīng)存在');
    console.log(stats.isDirectory());
  }
})

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node.js使用sharp庫(kù)實(shí)現(xiàn)PNG圖片轉(zhuǎn)換為WebP格式

    Node.js使用sharp庫(kù)實(shí)現(xiàn)PNG圖片轉(zhuǎn)換為WebP格式

    在 Node.js 中,可以使用 sharp 庫(kù)將 PNG 圖片轉(zhuǎn)換為 WebP 格式,sharp 是一個(gè)高性能的圖像處理庫(kù),支持多種圖像格式的轉(zhuǎn)換和處理,以下是如何使用 sharp 將 PNG 圖片轉(zhuǎn)換為 WebP 的詳細(xì)步驟,需要的朋友可以參考下
    2024-12-12
  • node 版本切換的實(shí)現(xiàn)

    node 版本切換的實(shí)現(xiàn)

    這篇文章主要介紹了node 版本切換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • node.js中的fs.open方法使用說(shuō)明

    node.js中的fs.open方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.open方法使用說(shuō)明,本文介紹了fs.open方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 使用npm發(fā)布Node.JS程序包教程

    使用npm發(fā)布Node.JS程序包教程

    這篇文章主要介紹了使用npm發(fā)布Node.JS程序包教程,本文講解了配置package.json、注冊(cè)npm帳號(hào)、發(fā)布程序包等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 通過(guò)實(shí)例了解Nodejs模塊系統(tǒng)及require機(jī)制

    通過(guò)實(shí)例了解Nodejs模塊系統(tǒng)及require機(jī)制

    這篇文章主要介紹了通過(guò)實(shí)例了解Nodejs模塊系統(tǒng)及require機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Node.js中fs模塊的使用方法

    Node.js中fs模塊的使用方法

    這篇文章介紹了Node.js中fs模塊的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • nodejs?express路由匹配控制及Router模塊化使用詳解

    nodejs?express路由匹配控制及Router模塊化使用詳解

    這篇文章主要為大家介紹了nodejs?express路由匹配控制及Router模塊化使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • nodejs爬蟲遇到的亂碼問(wèn)題匯總

    nodejs爬蟲遇到的亂碼問(wèn)題匯總

    這篇文章主要給大家匯總介紹了作者再制作nodejs爬蟲遇到的亂碼問(wèn)題,有相同問(wèn)題的小伙伴可以參考下
    2017-04-04
  • Node定時(shí)備份MySQL的實(shí)現(xiàn)

    Node定時(shí)備份MySQL的實(shí)現(xiàn)

    本文主要介紹了Node定時(shí)備份MySQL的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • nodejs服務(wù)搭建教程 nodejs訪問(wèn)本地站點(diǎn)文件

    nodejs服務(wù)搭建教程 nodejs訪問(wèn)本地站點(diǎn)文件

    這篇文章主要為大家詳細(xì)介紹了nodejs服務(wù)搭建教程,訪問(wèn)本地站點(diǎn)文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評(píng)論