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. 【c++基础】如何获取工程项目当前路径

    工程项目当前路径 #include <direct.h> int main( ) { ]; _getcwd(buffer, ); std::cout << buffer < ...

  2. [LeetCode&Python] Problem 412. Fizz Buzz

    Write a program that outputs the string representation of numbers from 1 to n. But for multiples of ...

  3. 查看图片插件--Viewer(类似于qq和微信聊天 的查看图片)

    Viewer的github地址:https://github.com/fengyuanchen/viewer  下载该插件(在文件夹dist里面) 具有参考价值的几个网站:http://www.dow ...

  4. Try .NET

    微软新出的好东西——Try .NET,该平台可以让开发者直接在线上编写并运行 .NET 代码. 没啥好说的进去就完事了 平台链接:https://try.dot.net/?fromGist=df448 ...

  5. L2-013. 红色警报

    战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不 ...

  6. HTML标签 select 里 动态添加option

    HTML标签 select 里 动态添加option: ☆ var today = new Date(); var yearNow = today.getFullYear(); var optiong ...

  7. android 工具类 数据库管理

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xuduzhoud/article/details/27540301 数据库工具类,优雅的管理andr ...

  8. 破解UltraEdit(Ver20.00.0.1040),无限试用

    因为是第一次破解较大型的商业软件,所以有必要记录一下,另外UE的价格也实在太贵了... 第零步:准备 准备好破解常用软件.我常用的工具有IDA(用于静态分析).Ollydbg(动态调试).PEiD(用 ...

  9. zz 史上最全--各银行借记卡的年费、小额管理费、转账费等!

    史上最全--各银行借记卡的年费.小额管理费.转账费等! 发布时间:2015-01-14 17:28:10 还在迷茫借记卡自费的菜主儿们~菜菜特别整理关于各银行借记卡.存折账户等的年费.小额管理费.转账 ...

  10. DKhadoop大数据系统架构设计方案

    大数据作为当下最为热门的事件之一,其实已经不算是很新鲜的事情了.如果是三五年前在讨论大数据,那可能会给人一种很新鲜的感觉.大数据作为当下最为重要的一项战略资源,已经是越来越得到国家和企业的高度重视,我 ...