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

原文地址:https://www.cnblogs.com/shangjun6/p/11125349.html