這篇文章主要介紹了NodeJs中Fs模塊有什么用,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)專注于興寧企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站定制開(kāi)發(fā)。興寧網(wǎng)站建設(shè)公司,為興寧等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Fs模塊
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)限(讀寫(xiě)權(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)建寫(xiě)入文件
//filename (String) 文件名稱 //data (String | Buffer) 將要寫(xiě)入的內(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) 文件讀寫(xiě)權(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('寫(xiě)入成功'); })
4.fs.appendFile 追加文件
fs.appendFile('t1.txt', '這是寫(xiě)入的內(nèi)容', function(err) { if (err) { console.log(err); return false; } console.log('寫(xiě)入成功'); })
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 寫(xiě)入文件
let fs = require("fs"); let data = '我是從數(shù)據(jù)庫(kù)獲取的數(shù)據(jù),我要保存起來(lái)11\n'; // 創(chuàng)建一個(gè)可以寫(xiě)入的流,寫(xiě)入到文件 output.txt 中 let writerStream = fs.createWriteStream('output.txt'); for (let i = 0; i < 100; i++) { writerStream.write(data, 'utf8'); } //標(biāo)記寫(xiě)入完成 writerStream.end(); writerStream.on('finish', function() { console.log('寫(xiě)入完成'); }) //失敗 writerStream.on('error', function() { console.log('寫(xiě)入失敗'); })
12.管道流
let fs = require("fs"); // 創(chuàng)建一個(gè)可讀流 let readerStream = fs.createReadStream('input.txt'); // 創(chuàng)建一個(gè)可寫(xiě)流 let writerStream = fs.createWriteStream('output.txt'); // 管道讀寫(xiě)操作 // 讀取 input.txt 文件內(nèi)容,并將內(nèi)容寫(xiě)入到 output.txt 文件中 readerStream.pipe(writerStream); console.log("程序執(zhí)行完畢");
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享NodeJs中Fs模塊有什么用內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!