fs模块写入文件的方式
导入内置模块
    const fs=require("fs")
 
一、异步写入方式
    fs.writeFile("写入文件的路径",str,"utf-8",(err)=>{
        console.log();
    })
 
二、同步写入方式
       fs.writeFileSync("写入文件的路径",str,"utf-8");
 
三、流的写入方式
       var fn=fs.createWriteStream("写入文件的路径");
       fn.write(str,"utf-8");
       fn.end(); 
       fn.on("finish",()=>{     });
       fn.pause();    暂停
       fn.resume();  继续    
  
err:错误优先
utf-8:有这个参数以字符串输出,没有就以八分数组输出
str:要写入的内容
 
fs模块读取文件的方式
导入内置模块
    const fs=require("fs")
 
一、异步读取方式
    fs.readFile("路径","utf-8",(err,data)=>{
        console.log(data);
    })
 
二、同步读取方式
       fs.readFileSync("路径","utf-8")
       console.log(data);
 
三、流的读取方式
       var fn=fs.createReadStream("路径");
       var str=""; 
       fn.on("data",(thunk)=>{  str+=thunk  });
       fn.on("end",()=>{  
            console.log(str);
      }); 
       fn.pause();    暂停
       fn.resume();  继续    
  
    流的方式读取大文件进度        
        var rs= fs.createReadStream("路径");
        文件的大小
        var filesize=0;
        fs.stat("路径",(err,info)=>{
            filesize=info.size;
        })
        var len=0;
        rs.on("data",(thunk)=>{
        len+=thunk.length;
            console.log((len/filesize*100).toFixed(2)+'%');
        })
        rs.on("end",()=>{
            console.log("read complete")
        })
err:错误优先
utf-8:有这个参数以字符串输出,没有就以八分数组输出
data:要读取的文件
 
fs模块读取文件方式的顺序
    同步 ——> 流 —> 异步
 
fs模块copy方式
一、小文件的copy方式
        var copyFile=(src,dest)=>{
            new Promise((callbaack)=>{
                fs.readFile(src,"utf-8",(err,data)=>{
                    callback(data);
                })
            }).then((data)=>{
                fs.writeFile(dest,data,"utf-8",()=>{
                    console.log();
                })
            })
        }
    src:表示原文件
    dest:表示被copy的目标文件
    data:表示要读取的文件
 
二、大文件的copy方式        
        var rs=fs.createReadStream("原文件路径");
        var ws=fs.createWriteStream("目标文件路径");
        var size=0; 定义文件的大小
        var len=0;  定义加载的进度
        fs.stat("原文件路径",(err,info)=>{
            size=info.size;
            rs.on("data",(thunk)=>{
                len+=thunk.length;
                var flag=ws.write(thunk,(err)=>{
                    if(!err){
                        process.stdout.clearLine();  清屏
                        process.stdout.cursorTo(0);  让光标在第一行
                        process.stdout.write((len/size*100).toFixed(2)+"%");
                    }
                })
                if(!flag){
                    rs.pause();  如果没有写入完成,就暂停读取
                }
            })
        })
        ws.on("drain",()=>{  drain表示写入完成
            rs.resume();  如果写入完成,就继续读取
        })
        rs.on("end",()=>{
            process.stdout.clearLine();
            process.stdout.cursorTo(0);
        })
 
http模块
导入模块
    const http=require("http");
 
操作
    var ser=http.createServer((req,res)=>{
        res.writeHead(200,"Content-type",'text/html;charset=uft-8'); 防止中文乱码
        res.write(`<!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <meta http-equiv="X-UA-Compatible" content="ie=edge">
            <title>Document</title>
        </head>
        <body>`)
        res.write("<h1>hello world!!!!!</h1>");
        res.end(`</body>
        </html>`);
    })
    ser.listen(端口号,()=>{
        console.log("listen"+ser.address().port+"...");
    })
 
红色部分是为了看起来像html页面
req:表示请求对象
res:表示响应对象
200:表示请求成功的状态吗

fs和http模块的更多相关文章

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

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

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

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

  3. 三、fs文件操作模块

    fs模块用于文件的读写等操作. 该模块有如下这些方法: 1.fs.stat() : 检测是文件还是目录 const fs = require('fs'); fs.stat('test.html',fu ...

  4. node的fs模块使用————node

    node的fs模块使用----node fs模块是调用文件的模块. var fs=require('fs'); //引用模块. //查看文件信息 fs.stat('index.txt',functio ...

  5. Node.js核心模块-fs文件系统

    fs是file-system的简写,文件系统的意思.在Node中如果想要进行文件操作,就必须引入fs这个核心模块. 引入 const fs = require('fs') fs.readFile(pa ...

  6. 运用node的文件系统模块批量修改文件名

      如果我们需要大批量修改一个文件中的名称,比如,删除文件名中的副本时,就可以借助node的文件系统模块,快捷快速的完成. 首先建立一个js文件(changeName.js),代码如下: // 引入f ...

  7. nodejs原生模块简介

    一.Express框架 前面的章节已经介绍过了,可以使用npm来安装node.js模块.具体操作请参照以前写的nodejs概论. Express是一个nodejs的web开源框架,用于快速的搭建web ...

  8. events模块

    /** * Created by Administrator on 2016/8/3. */ var http = require("http"); //Node 导入文件系统模块 ...

  9. nodeJS之fs文件系统

    前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍js文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. 通过 require('fs') 使用该模块. 所 ...

随机推荐

  1. 使用Ant搭建Android开发环境入门

    使用Ant搭建Android开发环境入门   使用Ant搭建Android开发环境,建立android项目 配置Ant环境 下载Ant:http://ant.apache.org/bindownloa ...

  2. 【ssm】拦截器的原理及实现

    一.背景: 走过了双11,我们又迎来了黑色星期五,刚过了黑五,双12又将到来.不管剁手的没有剁手的,估计这次都要剁手了!虽然作为程序猿的我,没有钱但是我们长眼睛了,我们关注到的是我们天猫.淘宝.支付宝 ...

  3. 【HDU5421】Victor and String(回文树)

    [HDU5421]Victor and String(回文树) 题面 Vjudge 大意: 你需要支持以下操作: 动态在前端插入一个字符 动态在后端插入一个字符 回答当前本质不同的回文串个数 回答当前 ...

  4. 牛客多校第五场 J:Plan

    链接:https://www.nowcoder.com/acm/contest/143/J 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  5. 谨慎使用 FileInfo.Exists 实例方法,而是使用 File.Exists 静态方法替代

    如果你在代码中使用了 FileInfo.Exists 实例方法来判断一个文件是否存在,也许会发现此方法可能错误地判断来一个文件是否真的存在.这是一个坑. 本文将介绍坑的原因,并提供填坑的办法. 本文内 ...

  6. day2-Iptables笔记

    1.   iptables防火墙简介 Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入.流出.流经服务器的数 ...

  7. 干了2个月java开发最深的体会

    综上为JQuery中ajax的操作,感觉使用多了,和form表单的处理还是非常相似的,只不过实现的功能不一样罢了.学习编程,其实就是学习对数据的流转处理,也即是程序的运行流程,如何从前台获取,传输到服 ...

  8. MySQL--区分表名大小写

    ============================================================================ 在MySQL中,可以通过lower_case_ ...

  9. .NET基金会成立

    作者 Jonathan Allen ,译者 臧秀涛 发布于 2014年4月8日 随着.NET基金会的成立,微软在成为主要的开源参与者的道路上又前进了一步.该基金会的宗旨是“成为越来越多的开源.NET项 ...

  10. smarty学习——编程知识

    smarty 提供了丰富的api 接口可以方便我们进行操作: 1.clear_all_assign清除所有赋值 2.clear_all_cache清除所有缓存 3.clear_assign清除赋值 4 ...