溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

NodeJs中Fs模塊有什么用

發(fā)布時(shí)間:2020-12-05 11:19:59 來(lái)源:億速云 閱讀:140 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了NodeJs中Fs模塊有什么用,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

Fs模塊

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

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

        return false;
    }
    console.log('文件:' + stats.isFile());
    console.log('目錄:' + stats.isDirectory());
})

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('t1.txt', '這是寫入的內(nèi)容', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('寫入成功');
})

5.fs.readFile 讀取文件

fs.readFile('t1.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. 改名 2. 剪切文件
fs.rename('html/index.html', 'html/news.html', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('修改名字成功');
})

8.fs.rmdir 刪除目錄

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

// ENOENT: no such file or directory, rmdir      rmdir 這個(gè)方法只能刪除目錄
fs.rmdir('index.txt', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('刪除目錄成功');
})

9.fs.unlink 刪除文件

fs.unlink('index.txt', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('刪除文件成功');
})

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

const fs = require('fs')
    //流的方式讀取文件
let readStream = fs.createReadStream('input.txt');
let str = ''; /*保存數(shù)據(jù)*/
let 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 寫入文件

let fs = require("fs");
let data = '我是從數(shù)據(jù)庫(kù)獲取的數(shù)據(jù),我要保存起來(lái)11\n';
// 創(chuàng)建一個(gè)可以寫入的流,寫入到文件 output.txt 中
let writerStream = fs.createWriteStream('output.txt');
for (let 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.管道流

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

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享NodeJs中Fs模塊有什么用內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI