亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中fs模塊如何使用

發布時間:2022-06-24 13:55:08 來源:億速云 閱讀:273 作者:iii 欄目:開發技術

這篇文章主要介紹“Node.js中fs模塊如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Node.js中fs模塊如何使用”文章能幫助大家解決問題。

引入fs模塊

var fs=require('fs');

1. fs.stat檢測是文件還是目錄

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 創建目錄

//接收參數:
//path          將創建的目錄路徑
//mode          目錄權限(讀寫權限),默認0777
//callback      回調,傳遞異常參數err

fs.mkdir('css', function (err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log('創建目錄成功');
})

3. fs.writeFile 創建寫入文件

//filename      (String)               文件名稱
//data          (String | Buffer)      將要寫入的內容,可以使字符串 或 buffer數據。
//options       (Object)               option數組對象,包含:
//· encoding    (string)               可選值,默認 ‘utf8′,當data使buffer時,該值應該為 ignored。
//· mode        (Number)               文件讀寫權限,默認值 438
//· flag        (String)               默認值 ‘w'
//callback {Function}  回調,傳遞一個異常參數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', '這是追加的內容', 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 刪除目錄

這個方法只能刪除目錄,不可以刪除文件

刪除空目錄

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 從文件流中讀取數據

//流的方式讀取文件
var readStream = fs.createReadStream('input.txt');
var str = '';
//保存數據
var count = 0;
//次數
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 = '我是從數據庫獲取的數據,我要保存起來\n';
// 創建一個可以寫入的流,寫入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt');
for (var i = 0; i < 100; i++) {
  writerStream.write(data, 'utf8');
}
//標記寫入完成
writerStream.end();
writerStream.on('finish', function () {
  console.log('寫入完成');
})
//失敗
writerStream.on('error', function () {
  console.log('寫入失敗');
})

12. 管道流

管道提供了一個輸出流到輸入流的機制。通常我們用于從一個流中獲取數據并將數據傳遞到另外一個流中。

Node.js中fs模塊如何使用

如上面的圖片所示,我們把文件比作裝水的桶,而水就是文件里的內容,我們用一根管子(pipe)連接兩個桶使得水從一個桶流入另一個桶,這樣就慢慢的實現了大文件的復制過程。

以下實例我們通過讀取一個文件內容并將內容寫入到另外一個文件中。

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

Demo

判斷服務器上面有沒有upload目錄。沒有創建這個目錄

var fs = require('fs');
fs.stat('upload', function (err, stats) {
  if (err) {  // 沒有這個目錄
    fs.mkdir('upload', function (error) {
      if (error) {
        console.log(error);
        return false;
      }
      console.log('創建成功');
    })
  } else {
    console.log('目錄已經存在');
    console.log(stats.isDirectory());
  }
})

關于“Node.js中fs模塊如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新平| 高台县| 横山县| 海安县| 黑水县| 伊川县| 宣恩县| 安新县| 堆龙德庆县| 商南县| 泰来县| 津市市| 阜康市| 巴彦县| 睢宁县| 枝江市| 邵东县| 贵州省| 康马县| 平安县| 鄂托克旗| 民县| 明水县| 博爱县| 敖汉旗| 金平| 册亨县| 黄石市| 淮阳县| 穆棱市| 杭州市| 大名县| 桂平市| 密山市| 自治县| 玛沁县| 慈利县| 鄯善县| 咸宁市| 汶川县| 香港|