• 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 });
  • 相关阅读:
    SpringCloud demo (极速- 入门)
    RocketMQ 原理
    Connection reset by peer 全解
    LinkedBlockingQueue
    BlockingQueue
    ConcurrentSkipListSet
    ConcurrentSkipListMap
    nginx与OpenSSL实现https访问
    yum 下载全量依赖 rpm 包及离线安装(终极解决方案)
    centos7 离线安装神器yumdownloader
  • 原文地址:https://www.cnblogs.com/xuyx/p/10833125.html
Copyright © 2020-2023  润新知