zoukankan      html  css  js  c++  java
  • node.js中文件读取方式中流方式

    1、node.js中文件读取流方式:

      var fs=require("fs");

      var data;

      var s1=fs.createReadStream("input.txt");

      s1.on("data",function(txt){

        data+=txt;

      })

      s1.on("end",function(){

        console.log("文件流式读取成功!")

      })

     2、管道方式:

      var fs=require("fs");

      var s1=fs.createReadStream("input.txt");

      var s2=fs.createWriteStream("output.txt");

      s1.pipe(s2)

    3、获取请求的网站信息:

      var https=require("https");
      var fs=require("fs");
      https.get("https://www.baidu.com/",function(res){
        var data;
        res.on("data",function(txt){
          data+=txt;
        })
        res.on("end",function(){
          //console.log(data)
          fs.writeFile("input.txt",data,function(){
          console.log("文件写入完成!")
        })
      })
      

    4、批量下载图片: 

      var http=require("http");
      var fs=require("fs");

      //利用path模块,对url进行解析,以便得到想要的相关root、base等信息;
      var path=require("path");
      http.get("http://www.itsource.cn/",function(res){
        var data;
        res.on("data",function(txt){
          data+=txt;
        })
        res.on("end",function(){
          var reg=/src="((.*?).jpg)"/img;
          var filename;
          while(filename=reg.exec(data)){
            getImg(filename[1]);
          };
        // fs.writeFile("input.txt",filename[1],function(){
        // console.log("文件写入成功!")
        })
      })

      function getImg(url){
        var obj=path.parse(url);
        var fn=obj.base;
        var stream1=fs.createWriteStream("./files/"+fn);
        if(obj.root.length===0){
          url="/"+url;
        }

        url="http://www.itsource.cn"+url;
        http.get(url,function(res){
          res.pipe(stream1);
          console.log(fn+"读取完毕!")
        })
      }

      

      

  • 相关阅读:
    1021. 从前有座山——java
    1004. 西西弗斯式的命运——java
    1025. 水枪灭火——java
    1020. 分解质因数——java
    1024.排序——C语言
    1024. 排序——java
    1022. Fib数列——java
    1006. 求和游戏——java
    1005. 数独——java
    SpringBoot 升级到 2.1 后,启动程序时控制台不打印 API 的解决方法及一些感想
  • 原文地址:https://www.cnblogs.com/pyj63/p/7966040.html
Copyright © 2011-2022 走看看