zoukankan      html  css  js  c++  java
  • nodejs 文件操作

      前言:

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

  • 相关阅读:
    工具类---xlsx文件读写
    2021上半年第二次作业总结
    2021上半年第一次作业总结
    C语言II博客作业04
    C语言II—作业03
    C语言II博客作业02
    C语言II博客作业01
    win7开启snmp服务实现监控过程展现
    台湾某医学会sql注入漏洞
    测试面试题(持续总结中)
  • 原文地址:https://www.cnblogs.com/shangjun6/p/11125349.html
Copyright © 2011-2022 走看看