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. MQTT连接服务器返回2

    /********************************************************************************* * MQTT连接服务器返回2 * ...

  2. ReSharper2017.3的列对齐、排版格式、列对齐错误的修复

    ReSharper代码排版格式 列对齐 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  3. WinForm 实现点击一个按钮,执行另一个按钮事件

    C# 代码如下: private void button1_Click(object sender, EventArgs e) { this.button1.Click += new System.E ...

  4. LG3812 【模板】线性基

    题意 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大. \(1≤n≤50,0≤S_i≤2^{50}\) 分析 模板题. 推荐一篇好博客 现在我来证明一下线性基的性质. 性质 ...

  5. java 2和java有什么区别

    Java是一种通用的,并发的,强类型的,面向对象的编程语言. JDK是Sun公司分发的免费Java开发工具包,正式名称为J2SDK(Java2 Software Develop Kit). 包括基本的 ...

  6. MySQL--限制用户使用资源

    在MySQL 5.7及后续版本中,可以按照账号来限制每个账号实际具有的资源限制. 语法: GRANT WITH option, 如: GRANT SELECT ON test.* TO user1@l ...

  7. 使用lua graphql 模块让openresty 支持graphql api

      graphql 是一个很不错的api 查询标准语言,已经有一个lua 的版本支持graphql 项目使用docker&&docker-compose 运行 环境准备 模块安装 lu ...

  8. IBM DS存储存储性能调优

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jaminwm/article/details/26458791 ibm存储适用,其它存储有相似參数. ...

  9. DllPlugin、DllReferencePlugin 可以提取的第三方库列表

    DllPlugin.DllReferencePlugin 可以提取的第三方库列表: 'vue/dist/vue.esm.js', // 'vue/dist/vue.common.js' for web ...

  10. TopCoder客户端安装

    参考:https://blog.csdn.net/github_39353095/article/details/76165940 首先,下载 Java 环境. https://www.java.co ...