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#Delegate.Invoke、Delegate.BeginInvoke And Control.Invoke、Control.BeginInvoke

    作者:EasonLeung 一.Delegate的Invoke.BeginInvoke 1.Delegate.Invoke (委托同步调用) a.委托的Invoke方法,在当前线程中执行委托. b.委 ...

  2. liunx的文件系统及相关的基本命令

    1.ls     当前目录列表 2.cd 切换 3.cd ..    返回上一级 4.cat 文件      显示文件内容 5.mkdir 文件夹名    创建一个新的文件夹 6.rmdir 文件夹名 ...

  3. SUST OJ 1674: 入侵与反击(最长不下降子序列)

    1674: 入侵与反击 时间限制: 1 Sec  内存限制: 128 MB提交: 229  解决: 28[提交][状态][讨论版] 题目描述 A国部署的反导系统遇到了一个致命BUG,那就是每一次发射的 ...

  4. (1)什么是socket(套接字)

    什么是套接字socket socket把传输层以下的协议都封装成了简单的接口,我编写基于网络通信的软件只需要调用这些接口即可,写出的程序自然是遵循tcp/udp协议的.... 什么是互联网 互联网=物 ...

  5. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 activation-group& dialect& date-effective

    转载至:https://blog.csdn.net/wo541075754/article/details/75511887 activation-group 该属性将若干个规则划分成一个组,统一命名 ...

  6. benthos 几个方便的帮助命令

    benthos 的命令行帮助做的是比较方便的,基本上就是一个自包含的帮助文档 全部命令 benthos --help 查询系统支持的caches benthos -list-caches 说明 使用帮 ...

  7. oracle C# 访问

    使用oracle的odp.net 进行oracle数据库的访问对于进行oracle数据库的开发来说是比较方便的,使用的方式与ADO.net 是一致的. 一下为使用的测试 1. 安装必要的oracle ...

  8. php empty详解

    判断字符串是否为空,可以这么判断: if ($value=="") ...    * 格式:bool empty ( mixed var )    * 功能:检查一个变量是否为空  ...

  9. svn 报错及解决

    报错: svn: E155015: One or more conflicts were produced while merging r68508:73308 into '[分支]' -- reso ...

  10. Sentry从0到1

    无Sentry 在没有sentry的情况下,他的权限逻辑是这样的:jdbc采用hive权限创建的表,只有hive用户可以看到:hue用户是无法看到的: Sentry 在启用sentry,就是基于sen ...