Node js之fs模塊學習


 

學習nodejs還有很多的不懂,現在寫下我學習的心得以及整理下筆記:

 

下面是我整理的筆記:

 

    1、初識node.js

  簡單的說Node.js 就是運行在服務器端的JavaScript。

       Node.js 是一個基於Chrome JavaScript 運行時建立的一個平台。

       Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。

       Node.js 的包管理器 npm,是全球最大的開源庫生態系統。

       Node.js官網https://nodejs.org/en

       npm官網https://www.npmjs.com

 

  2、node.js命令介紹(cmd終端執行)

       查看node版本: node –v

       查看npm版本:npm -v

       進入node環境:node

       退出node環境:兩次ctrl+c

 

  3、nodejs內置模塊

  NodeJS沒有自己的語法,JS能寫什么,node就能運行什么

 

  ***但是要注意,僅限於JS語言核心部分。DOMBOM不能用,node沒有瀏覽器的那些東西。**

  Nodejs fs模塊官網http://nodejs.cn/api/fs.html

  fsfile system文件系統的意思,提供了對文件的所有操作。

  var fs=require("fs");

 

  fs模塊有個方法叫readFile,可以異步讀文件內容

 1 //err參數:錯誤信息,沒有錯誤將返回null
 2 //data參數:返回文件的內容
 3 var fs = require("fs");
 4 fs.readFile("./aaa/01.txt", function(err, date) {//readFile F一定要大寫
 5     if(err){
 6         console.log(err + "打開文件夾錯誤");
 7         return;
 8     }
 9     //讀取的是信息流,是Buffer是緩沖的二進制,用toString()轉為字符串
10     console.log(date.toString());
11 });

 

  運行結果如下:

 

  在Nodejs中要適應回調套回調函數,寫法如下:

 1 var fs = require("fs");
 2 
 3 fs.readFile("./test1.txt",function(err,data){
 4     console.log(data.toString());
 5 
 6     fs.readFile("./test2.txt",function(err,data){
 7         console.log(data.toString());
 8 
 9         fs.readFile("./test3.txt",function(err,data){
10             console.log(data.toString());
11         });
12     });
13 });

 

如果不想寫異步回調函數,可以使用同步版本的函數,寫法如下:

1 var data = fs.readFileSync("AAA.txt","utf8");
2 console.log(data);

 

 

fs.writeFile()是寫入文件的方法

  那么有讀就必須有寫,fs.writeFile()是寫入文件的方法:

1 //同步函數
2 fs.writeFileSync("BBB.txt", "Hello World");
3 
4 //異步函數
5 fs.readFile("AAA.txt","utf8",function (err,data) {
6     if (err) throw err;
7     console.log(data);
8 });

 

  讀寫操作:

1 讀寫操作:
2 fs.readFile("AAA.txt","utf8",function (err,data) {
3 if (err) throw err;
4 //將讀取到的文件內容寫入CCC文件中
5     fs.writeFile("CCC.txt", data);
6 });

 

  寫讀操作:

 1 var fs=require("fs");
 2 //{ 'flag': 'a'}追加參數,使寫入的時候不會清空原來的寫入的值。傳遞了追加參數 { 'flag': 'a' }
 3 //"\n"或者"\r"表示輸出的內容換行。
 4 fs.writeFile("./aaa/01.txt","Hello World"+"\n",{ 'flag': 'a'},function(err,date){
 5     if(err){
 6         console.log("寫入錯誤");
 7         return;
 8     }
 9     //任意的,寫入的時候它先執行並先顯示。
10         console.log("aaa");
11         fs.readFile("./aaa/01.txt",'utf8', function(err, date){
12         console.log(date.toString());
13             
14         });
15         console.log("b");
16 })

執行如下:

 

fs.mkdir()創建文件夾

 

1 // 創建文件夾 同步函數
2 fs.mkdirSync("stuff");
3 // 創建文件夾(異步函數) 並 讀寫文件
4 fs.mkdir("fileTxt", function() {
5     fs.readFile("AAA.txt",function (err,data) {
6         if (err) throw err;
7         fs.writeFile("./fileTxt/DDD.txt", data);
8     });
9 });

 

fs.unlink()刪除文件夾

 1 // 刪除文件(異步)
 2 fs.unlink("AAA.txt");
 3 
 4 // 刪除文件夾(同步)
 5 fs.rmdirSync("img");
 6 
 7 // 刪除文件(異步)並 刪除文件夾(異步)
 8 fs.unlink("./txt/AAA.txt",function(){
 9     fs.rmdir("txt");
10 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM