前言:

  nodejs 自带的文件操作的模块  fs

  就是对文件的增删查改;

  就像我们用的服务器,我们没有办法在运行的文件上进行一直的修改,因为他不向浏览器,刷新后我们的文件会自己修改;

  如果想要更改我们的服务器文件,我们需要关闭服务器后,重新启动;这样便能达到这样修改文件的效果;

  所以我们迫切的需要一种操作,就是在类似于 phpstudy 这种我们可以 在 www 的根目录下 ,我们就可以很轻松的对文件进行操作;

  但是,让我们研究文件的话,时间长,且真的很麻烦,但是 nodejs 就为我们 考虑 好了,我们只需要 在 nodejs 自带的 fs 模块中,便能很轻松的打出文件操作

  我们需要了解的前提:

    文件操作是服务器最慢的操作,二进制数据,文件读取

    一个端口只能服务一个人

    机器对机器,就是二进制传输

  用法:

  文件操作的模块  fs ----> 全称   file system  基本的操作:增删查改

  服务器的操作都是异步的;

  同步和异步的区别?

    异步:可以多种操作同时进行  即使:我们的一个操作,出现了卡顿,不运行的操作,我们后面的操作也会执行

    同步:相当于排队操作,一个操作完了,后面的才能开始,如果出现了 卡顿,我们的服务器也就只能卡在那里;

  读取文件:readFile()

  写文件:writeFile()

  案例:  

    所有的回调函数,都是异步操作的一种;

    readFile()  fs模块读取文件的方法,参数一:要读取的文件,参数二:回调函数, 回调函数的参数:参数一:err ,参数二:data   (err:代表文件读取不到,data:代表读取的数据)

    const http=require("http");    // http 模块,用来进行服务器操作
    const fn=require("fs");      // fs 模块,文件操作
    var server=http.createServer(function(req,res){    // 创建的 服务器
      var file_name="./www"+req.url;           // 我们文件 这种 在服务器的网址 后面输入 根目录情况
      fn.readFile(file_name,function(err,data){     // fn.readFile()  fs模块读取文件的方法,参数一:读取的文件,参数二:回调函数,回调函数中的参数(err,data)
        if(err){                    //  err    读取不到返回不到的内容  data  读取到了文件返回的数据
          res.write("404")            //  res.write()  在浏览器响应我们写文件的内容 
        }
        else{
          res.write(data)          
        }
        res.end();               // 每次浏览器将数据请求完  我们用 res.end() 告诉浏览器,你请求完了,不要在这了
      })
    })

    server.listen(8686);

  以上是读取文件的操作

  案例:

    修改文件内容的操作

    fs.writeFile()  参数一:要修改的文件  参数二:修改的内容  参数三:回调函数  (回调函数中的参数 err    返回错误的参数)

    这种方法,很强大,也就是我们如果我们没有这个文件,他会创建这个文件,如果有这个文件,会直接将里面的内容进行修改

    fs.writeFile("bbb.txt","skdfjsdiofj",function(err){
      console.log(err);
    })

nodejs 文件操作的更多相关文章

  1. nodeJS文件操作

    让前端觉得如获神器的不是NodeJS能做网络编程,而是NodeJS能够操作文件.小至文件查找,大至代码编译,几乎没有一个前端工具不操作文件.换个角度讲,几乎也只需要一些数据处理逻辑,再加上一些文件操作 ...

  2. nodejs文件操作模块FS(File System)常用函数简明总结(转)

    件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称 ...

  3. nodejs 文件操作模块 fs

    const fs=require("fs"); //文件操作 //创建目录 ./ 代表当前目录 ../ 代表上级目录fs.mkdir('./test',function(err){ ...

  4. nodejs文件操作笔记

    nodejs添加了流的概念,通过流操作文件如行云流水,比早前便利畅快多了. 先来第一个例子,我们建一个stream.js文件,里面内容如下: var fs = require("fs&quo ...

  5. NodeJS学习之文件操作

    NodeJS -- 文件操作 Buffer(数据块) JS语言自身只有字符串数据类型,没有二进制数据类型,因此NodeJS提供了一个与String对等的全局构造函数Buffer来提供对二进制数据的操作 ...

  6. 【nodejs学习】1.文件操作

    1.小文件拷贝,使用nodejs内置模块 var fs = require('fs'); function copy(src, dst){ fs.writeFileSync(dst, fs.readF ...

  7. Nodejs学习笔记(4) 文件操作 fs 及 express 上传

    目录 参考资料 1. fs 模块 1.1 读取文件fs.readFile 1.2 写入文件fs.writeFile 1.3 获取文件信息fs.stat 1.4 删除文件fs.unlink 1.5 读取 ...

  8. nodejs零基础详细教程2:模块化、fs文件操作模块、http创建服务模块

    第二章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑 ...

  9. nodejs笔记之文件操作

    文件操作包含: 读取文件 写入文件 删除文件 创建目录 删除目录 读取文件: // 异步操作 var fs = require("fs"); fs.readFile(". ...

随机推荐

  1. 编号001:deque用法暂时总结

    #deque的用法总结 In [1]: """ 所在地址:from collections import deque 现在知道的情况总结: 1.deque的用法与list ...

  2. static修饰的成员与非static修饰类的成员的区别

    ① 格式 : 1> static修饰的,称为静态成员,非static修饰的,称为非静态成员. ② 内存位置: 1>static修饰的,在方法区的静态区中,非static修饰的,在堆中的对象 ...

  3. luogu P4076 [SDOI2016]墙上的句子

    luogu loj 题意看了我半天(逃 (应该是我语文太差了) 题意是要确定每一行和每一列的看单词的顺序,使得同时正着出现和反着出现在里面的单词数量最少,每行和每列的性质是这一行所有单词反过来的单词要 ...

  4. node.js中使用imagemagick进行图片裁剪压缩

    node.js中使用imagemagick进行图片裁剪压缩 安装imagemagick sudo apt-get install imagemagick or wget http://www.imag ...

  5. 如何把maven文件pom.xml中的java包下载下来

    右击pom.xml文件,选择Run As-->Maven build- 在打开的页面中,如图输入"dependency:copy-dependencies",后点击" ...

  6. var与let变量for遍历的问题

    var Liarry = document.getElementsByTagName('li'); /**方法一*描述:自执行函数,将变量当参数传入(闭包的思想,保存当前的值).*/ for (var ...

  7. C语言面试相关知识点

    1.关键字static的作用是什么? 有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这个函数被调用过程中维持其值不变 2)在模块内(但在函数体外),静态的变量可以被模块内所有函数访问,但 ...

  8. springboot学习2

    项目导入eclipse 先检测是否安装有gradle插件 然后点击  finish 按钮 hello world实例 Application.java package com.example.demo ...

  9. [易学易懂系列|rustlang语言|零基础|快速入门|(3)|所有权Ownership]

    今天我们来讲讲rust最难,也是最重要的概念: Ownership,Borrowing,Lifetimes 首先我们来看看:ownership(所有权) 我们来看看下面的代码: let a = [1, ...

  10. python之路day13--迭代器

    迭代器 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的ge ...