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

扫描二维码关注公众号,回复: 6167622 查看本文章

       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 });

猜你喜欢

转载自www.cnblogs.com/xuyx/p/10833125.html