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