Node.js中fs模塊的使用方法
引入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í)有所幫助,也希望大家多多支持腳本之家。
- Node.js?內(nèi)置模塊fs文件系統(tǒng)操作示例詳解
- Node.js?操作本地文件及深入了解fs內(nèi)置模塊
- 總結(jié)Node.js中9種fs模塊文件操作方法(文件夾遞歸刪除知識(shí))
- node.js-fs文件系統(tǒng)模塊這是你知道嗎
- Node.js 中的 fs 模塊與Path模塊方法詳解
- Node.js中文件系統(tǒng)fs模塊的使用及常用接口
- Node.js fs模塊(文件模塊)創(chuàng)建、刪除目錄(文件)讀取寫入文件流的方法
- node.js基于fs模塊對(duì)系統(tǒng)文件及目錄進(jìn)行讀寫操作的方法詳解
- 淺談Node.js:fs文件系統(tǒng)模塊
- Node.js?中?fs?模塊的高級(jí)用法實(shí)例詳解
相關(guān)文章
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通過(guò)實(shí)例了解Nodejs模塊系統(tǒng)及require機(jī)制
這篇文章主要介紹了通過(guò)實(shí)例了解Nodejs模塊系統(tǒng)及require機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07nodejs?express路由匹配控制及Router模塊化使用詳解
這篇文章主要為大家介紹了nodejs?express路由匹配控制及Router模塊化使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Node定時(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-04nodejs服務(wù)搭建教程 nodejs訪問(wèn)本地站點(diǎn)文件
這篇文章主要為大家詳細(xì)介紹了nodejs服務(wù)搭建教程,訪問(wèn)本地站點(diǎn)文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04