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

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

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

引入fs模塊

var fs=require('fs');

1. fs.stat檢測是文件還是目錄

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ù)組對象,包含:
//· encoding    (string)               可選值,默認(rèn) ‘utf8′,當(dāng)data使buffer時,該值應(yīng)該為 ignored。
//· mode        (Number)               文件讀寫權(quán)限,默認(rèn)值 438
//· flag        (String)               默認(rèn)值 ‘w'
//callback {Function}  回調(diào),傳遞一個異常參數(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 刪除目錄

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

刪除空目錄

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ù)庫獲取的數(shù)據(jù),我要保存起來\n';
// 創(chuàng)建一個可以寫入的流,寫入到文件 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. 管道流

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

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

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

// 創(chuàng)建一個可讀流
var readerStream = fs.createReadStream('input.txt');
// 創(chuàng)建一個可寫流
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)建這個目錄

var fs = require('fs');
fs.stat('upload', function (err, stats) {
  if (err) {  // 沒有這個目錄
    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());
  }
})

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

相關(guān)文章

  • Node.js DES加密的簡單實(shí)現(xiàn)

    Node.js DES加密的簡單實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄狽ode.js DES加密的簡單實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • NODE.JS加密模塊CRYPTO常用方法介紹

    NODE.JS加密模塊CRYPTO常用方法介紹

    這篇文章主要介紹了NODE.JS加密模塊CRYPTO常用方法介紹,需要的朋友可以參考下
    2014-06-06
  • 史上無敵詳細(xì)的Node.Js環(huán)境搭建步驟記錄

    史上無敵詳細(xì)的Node.Js環(huán)境搭建步驟記錄

    Node.js是一個事件驅(qū)動I/O服務(wù)端JavaScript環(huán)境,由于其擁有異步非阻塞、環(huán)境搭建簡單、實(shí)踐應(yīng)用快等特性,使得其在新一代編程開發(fā)中更為流行,下面這篇文章主要給大家介紹了關(guān)于Node.Js環(huán)境搭建步驟記錄的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • nodejs教程之制作一個簡單的文章發(fā)布系統(tǒng)

    nodejs教程之制作一個簡單的文章發(fā)布系統(tǒng)

    本文主要講述了使用nodejs制作一個簡單的文章發(fā)布系統(tǒng),使用mongodb數(shù)據(jù)庫,時間比較緊,功能做的也比較簡單,僅僅是增刪改查,外加附近上傳,有相同需求的小伙伴可以參考下
    2014-11-11
  • 修改npm全局安裝模式的路徑方法

    修改npm全局安裝模式的路徑方法

    今天小編就為大家分享一篇修改npm全局安裝模式的路徑方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 完美解決node.js中使用https請求報CERT_UNTRUSTED的問題

    完美解決node.js中使用https請求報CERT_UNTRUSTED的問題

    下面小編就為大家?guī)硪黄昝澜鉀Qnode.js中使用https請求報CERT_UNTRUSTED的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • node.js?readline和line-reader逐行讀取文件方法

    node.js?readline和line-reader逐行讀取文件方法

    Readline是Node的原生模塊。它是專門為從任何可讀流逐行讀取內(nèi)容而開發(fā)的。它可用于從命令行讀取數(shù)據(jù),line-reader模塊是Node.js中逐行讀取文件的開源模塊。它不是本地模塊,所以你需要使用npm(節(jié)點(diǎn)包管理器)安裝它
    2022-10-10
  • node內(nèi)存泄漏排查與修復(fù)過程

    node內(nèi)存泄漏排查與修復(fù)過程

    之前開發(fā)了一個node接口,該接口使用canvas繪制產(chǎn)品圖提供給java端使用,在運(yùn)行了一段時間后發(fā)現(xiàn)了內(nèi)存泄漏問題,本文淺記下修復(fù)過程,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Node.js 8 中的 util.promisify的詳解

    Node.js 8 中的 util.promisify的詳解

    本篇文章主要介紹了Node.js 8 中的 util.promisify的詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 快速刪除node_modules的幾種方式小結(jié)

    快速刪除node_modules的幾種方式小結(jié)

    這篇文章主要介紹了快速刪除node_modules的幾種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

济阳县| 宜兴市| 浑源县| 申扎县| 遵化市| 永胜县| 江都市| 广平县| 政和县| 衡阳市| 青海省| 精河县| 肇州县| 岫岩| 高雄市| 八宿县| 洛南县| 新蔡县| 无极县| 揭西县| 扬中市| 肥城市| 宜春市| 同仁县| 尖扎县| 黑龙江省| 怀远县| 芒康县| 汽车| 沭阳县| 马边| 澎湖县| 泸水县| 牡丹江市| 谷城县| 大新县| 北安市| 库尔勒市| 乐安县| 凤阳县| 辽源市|