Node中的fs模块
生活随笔
收集整理的這篇文章主要介紹了
Node中的fs模块
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.fs.stat檢測(cè)是文件還是目錄
2.fs.mkdir創(chuàng)建目錄
3.fs.writeFile創(chuàng)建寫入文件
4.fs.appendFile追加文件
5.fs.readFile 讀取文件
6.fs.readdir讀取目錄
7.fs.rename重命名
8.fs.rmdir刪除目錄
9.fs.unlink 刪除文件
5.fs.readFile 讀取文件
const fs = require('fs') fs.readFile('./html/index.html', function (err, data) {if (err) {console.log(err)return}console.log(data)console.log(data.toString())})6.fs.readdir 讀取目錄
const fs = require('fs') fs.readdir('./html', function (err, data) {if (err) {console.log(err)return}console.log(data) })7.fs.rename 重命名
const fs = require('fs')fs.rename('./css/base.css', './css/index.css' ,function (err) {if (err) {console.log(err)return}console.log('重命名成功') }) const fs = require('fs') fs.rename('./css/index.css', './html/base.css' ,function (err) {if (err) {console.log(err)return}console.log('移動(dòng)文件成功') })
8. fs.rmdir 刪除目錄
案例1:判斷服務(wù)器上面有沒有upload目錄,如果沒有就創(chuàng)建這個(gè)目錄,如果有的話不做操作
// 判斷服務(wù)器上面有沒有upload目錄,如果沒有就創(chuàng)建這個(gè)目錄,如果有的話不做操作const fs = require('fs') var path = './upload'fs.stat(path, function(err, data) {if(err) {// 執(zhí)行創(chuàng)建目錄mkdir(path)return}if(data.isDirectory()) {console.log('upload目錄已存在')}else {// 首先刪除文件,再去執(zhí)行創(chuàng)建目錄fs.unlink(path, function(err) {if(!err) {mkdir(path)}else {console.log('請(qǐng)檢查傳入的路徑是否正確')}})} })function mkdir(dir) {fs.mkdir(dir, function(err) {if(err) {console.log(err)return}}) }案例2: wwwroot 文件夾下面有img css js 以及index.html, 找出wwwroot目錄下的所有的目錄
// wwwroot 文件夾下面有img css js 以及index.html, 找出wwwroot目錄下的所有的目錄const fs = require('fs')/* var path = './wwwroot' var dirArr = [] fs.readdir(path, function(err, data) {if(err) {console.log(err)return}console.log(data)for(var i=0; i<data.length; i++) {fs.stat(path + '/' +data[i], function(error,stats) {if(stats.isDirectory()) {dirArr.push(data[i])}})}console.log(dirArr) })*/var path = './wwwroot' var dirArr = [] fs.readdir(path, function (err, data) {if (err) {console.log(err)return}(function getDir(i) {if (i == data.length) {//執(zhí)行完成console.log(dirArr)return}fs.stat(path + '/' + data[i], function (error, stats) {if (stats.isDirectory()) {dirArr.push(data[i])}getDir(i + 1)})})(0) })使用函數(shù)閉包解決異步方法執(zhí)行后拿不到結(jié)果的問題:
10. 以流的方式讀取文件
11. 以流的方式寫入文件
12. 管道流
管道提供了一個(gè)輸出流到輸入流的機(jī)制。通常我們用于從一個(gè)流中獲取數(shù)據(jù)并將數(shù)據(jù)傳 遞到另外一個(gè)流中。
如上面的圖片所示,我們把文件比作裝水的桶,而水就是文件里的內(nèi)容,我們用一根管子(pipe)連接兩個(gè)桶使得水從一個(gè) 桶流入另一個(gè)桶,這樣就慢慢的實(shí)現(xiàn)了大文件的復(fù)制過程。 以下實(shí)例我們通過讀取一個(gè)文件內(nèi)容并將內(nèi)容寫入到另外一個(gè)文件中。
總結(jié)
以上是生活随笔為你收集整理的Node中的fs模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据解析学习笔记(正则解析、bs4解析、
- 下一篇: 1+X web中级 Laravel学习笔