美文网首页
node的fs模块异步读写内容

node的fs模块异步读写内容

作者: TerdShow | 来源:发表于2019-10-03 01:30 被阅读0次

file system 可以在服务端读取文件和数据 方法是同步 + 异步共存
同步方法易使用 (刚开始运行 )
异步方法不会阻塞主线程 (运行起来后用异步)

let fs = require('fs');
let path = require('path');
// 读取文件 文件不存在会报错
// 写入文件 文件不存在会创建文件
fs.readFile('./note.md',function(err,data){
   if(err){
     console.log(err)
   }
   fs.writeFile('./note.md1',data,function(){

   })
});

64k以下的读写可以用上面这种方式
不适合大文件来使用,否则可能会导致内存的浪费
可以读取一点 写入一点
手动按照自己来读取 fs.open fs.read fs.write fs.close
r 读取
w 写入
r+ 在读的基础上可以写 但是文件不存在会报错
w+ 在写的基础上读取 如果文件不存在 会创建

const fs = require("fs");
// 读取一点 写一点,不会导致淹没可用内存
const SIZE = 5;
let buffer = Buffer.alloc(SIZE);
fs.open("./note.md", "r", function(err, rfd) {
  // number
  fs.open("./copy.md", "w", function(err, wfd) {
    let readOffset = 0;
    let writeOffset = 0;
    // co
    function next() {
      fs.read(rfd, buffer, 0, SIZE, readOffset, function(err, bytesRead) {
        if(bytesRead === 0){
            fs.close(wfd,()=>{})
            return fs.close(rfd,()=>{});
        }
        fs.write(wfd, buffer, 0, bytesRead, writeOffset, function() {
            readOffset += bytesRead;
            writeOffset += bytesRead;
            next();
        });
      });
    }
    next();
  });
});

// 两个耦合性比较高的代码怎么拆分, 发布订阅/stream

//写入时 没有会创建 如果有会清空
fs.appendFileSync('1.js','123')
// 如果文件已经存在 会将文件中的内容清空
fs.writeFileSync('1.js','123',{flag:'a'}); 

相关文章

  • 三:fs模块

    node的fs模块是文件模块,为node自带的模块,负责文件的读写。fs模块可以同步和异步读写文件 1. 异步读取...

  • node的fs模块异步读写内容

    file system 可以在服务端读取文件和数据 方法是同步 + 异步共存同步方法易使用 (刚开始运行 )异步方...

  • Node.js之fs用法详解

    Node.js 内置的fs模块就是文件系统模块,负责读写文件。和所有其他JS模块不同的是,fs模块同时提供了异步和...

  • Node.js 内置的fs模块使用

    Node.js 内置的fs模块就是文件系统模块,负责读写文件。和所有其他JS模块不同的是,fs模块同时提供了异步和...

  • Node.js 文件系统

    Node 导入文件系统模块(fs)语法如下所示: var fs = require("fs"); 比起同步,异步方...

  • 3-廖雪峰-node-fs模块

    fs文件读取模块 Node.js内置的fs模块就是文件系统模块,负责读写文件。 和所有其它JavaScript模块...

  • Day11 文件系统

    fs模块 Node.js内置的fs模块就是文件系统模块,负责读写文件。和所有其它JavaScript模块不同的是,...

  • Node.js基本模块

    fs模块 node.js内置的fs模块就是文件系统模块,负责读写文件。与所有其他JavaScript模块不同的是,...

  • 6-2 Node.js 文件模块

    Node.js内置的fs模块就是文件系统模块,负责读写文件。 和所有其它JavaScript模块不同的是,fs模块...

  • Node.js之常用内置模块

    含摘录,非原创 fs fs模块就是文件系统模块,负责读写文件,提供了异步和同步的方法。 读文件 异步读文件: 同步...

网友评论

      本文标题:node的fs模块异步读写内容

      本文链接:https://www.haomeiwen.com/subject/cuxqyctx.html