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. 如何使用Java读写系统属性?

    如何使用Java读写系统属性? 读: Properties props = System.getProperties(); Enumeration prop_names = props.propert ...

  2. shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇

    在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时,  不小心忽略了原先 ...

  3. google-protobuf安装详解

    前言 编译调试项目的过程中涉及到caffe的编译,提示没有安装protobuf的错误,本文详解protobuf的安装: 问题描述 解决步骤 1.查看google protobuf的github,没有直 ...

  4. 从dfs向动态规划过渡

    据说每一个dfs,都能用动态规划思想做出来. 首先要明白dfs与动态规划的一些小要点   1)dfs重在通过使用递归来使用不同的选择,通过使用形参的改变实现不同情景的改变(形参既包括了代价,又包含了结 ...

  5. SQLite数据库学习小结——native层实现

    1. SQlite概述 SQLite是一款轻量.快速.跨平台的嵌入式数据库,是遵守ACID(注:ACID指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consi ...

  6. ThinkPHP 一直坚挺着

    ThinkPHP 一直坚挺着 从最初的 0.6 到现在的 5.2 ThinkPHP 走过了 12 年. 从 PHP 4 迭代到 PHP 7.3,每一次更新都给开源社区注入了活力. 这次国内开源软件的投 ...

  7. 单变量微积分笔记21——三角替换2(tan和sec)

    tan和sec常用公式 我一直认为三角函数中只有sin和cos是友好的,其它都是变态.现在不得不接触一些变态: 这些变态的相关等式: 等式的证明 这个稍有点麻烦,先要做一些前置工作. 三角替换 示例1 ...

  8. 箭头函数中的 this

    JS 每一个 function 都有自己独立的运行上下文,但箭头函数不属于普通的 function,所以没有独立的上下文. 所以在箭头函数里写的 this 其实是包含该箭头函数最近的一个 functi ...

  9. DevExpress GridControl控件行内新增、编辑、删除添加选择框(转)

    http://blog.csdn.net/m1654399928/article/details/21951519 1.首先到GridControl控件设计里设置属性Repository    (In ...

  10. tyvj1391走廊泼水节

    题目:http://www.joyoi.cn/problem/tyvj-1391 考虑对于每一条边,新加的长度是(左边点数*右边点数-1)*(当前边权+1): 然后要kruskal的思想,把边从小到大 ...