美文网首页
fs的核心模块及方法

fs的核心模块及方法

作者: 金桔柠檬加冰 | 来源:发表于2018-08-24 13:05 被阅读0次

fs的核心模块及方法

fs模块(http://nodejs.cn/api/

var fs = request('fs') //引入核心模块
//异步读文件
/**
 * fs.readFile(path[, options], callback)
 * path, 必选参数,文件路径
 * [options],可选参数,可指定flag(文件操作选项,如r+ 读写;w+ 读写,文件不存在则创建)及encoding属性
 * callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据
 */
fs.readFile(__dirname + '/test.txt', {flag: 'r+', encoding: 'utf8'}, function (err, data) {
    if(err) {
     console.error(err);
     return;
    }
    console.log(data);
});


//同步读取文件
fs.readFileSync(path[, options])
/**
 *  path:文件名或文件描述符必填,文件地址
 *  options:可选参数
*/
fs.writeFile(path,data,[options],callback)
/**
 * path, 必选参数,文件路径
 * data, 写入的数据,可以字符或一个Buffer对象
 * [options],flag,mode(权限),encoding
 * callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据
 */
fs.writeFile(__dirname + '/test.txt', w_data, {flag: 'a'}, function (err) {
   if(err) {
    console.error(err);
    } else {
       console.log('写入成功');
    }
});

/**
 * fs.stat(path,[options],callback)  获取文件的详细信息
 * path, 必选参数,文件路径
 * [options]
 * callback 传递两个参数,异常参数err, 文件信息数组 stats
 *  不建议在调用 fs.open() 、fs.readFile() 或 fs.writeFile() 之前使用 fs.stat() 检查一个文件是否存   在。 作为替代,用户代码应该直接打开/读取/写入文件,当文件无效时再处理错误。
 如果要检查一个文件是否存在且不操作它,推荐使用 fs.access()。
 */
fs.stat('./aa.js', function(err, stats) {
  if (err) {
    throw err;
  }
  console.log(stats);
})
fs.readlink(path[, options], callback)
//文件追加
/**
 * fs.appendFile(path, data[, options], callback)
 * path, 必选参数,文件路径
 * data, 写入的数据,可以字符或一个Buffer对象
 * [options],可选文件
 * callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据
 */
fs.appendFile(__dirname + '/test.txt', '使用fs.appendFile追加文件内容', function (err) {
  console.log('追加内容完成');
});
/*
 * 流,在应用程序中表示一组有序的、有起点有终点的字节数据的传输手段;
 * Node.js中实现了stream.Readable/stream.Writeable接口的对象进行流数据读写;以上接口都继承自EventEmitter类,因此在读/写流不同状态时,触发不同事件;
 * 关于流读取:Node.js不断将文件一小块内容读入缓冲区,再从缓冲区中读取内容;
 * 关于流写入:Node.js不断将流数据写入内在缓冲区,待缓冲区满后再将缓冲区写入到文件中;重复上面操作直到要写入内容写写完;
 * readFile、read、writeFile、write都是将整个文件放入内存而再操作,而则是文件一部分数据一部分数据操作;
 *
 * -----------------------流读取-------------------------------------
 * 读取数据对象:
 * fs.ReadStream 读取文件
 * http.IncomingMessage 客户端请求或服务器端响应
 * net.Socket    Socket端口对象
 * child.stdout  子进程标准输出
 * child.stdin   子进程标准入
 * process.stdin 用于创建进程标准输入流
 * Gzip、Deflate、DeflateRaw   数据压缩
 *
 * 触发事件:
 * readable  数据可读时
 * data      数据读取后
 * end       数据读取完成时
 * error     数据读取错误时
 * close     关闭流对象时
 *
 * 读取数据的对象操作方法:
 * read      读取数据方法
 * setEncoding   设置读取数据的编
 * pause     通知对象众目停止触发data事件
 * resume    通知对象恢复触发data事件
 * pipe      设置数据通道,将读入流数据接入写入流;
 * unpipe    取消通道
 * unshift   当流数据绑定一个解析器时,此方法取消解析器
 *
 * ------------------------流写入-------------------------------------
 * 写数据对象:
 * fs.WriteStream           写入文件对象
 * http.clientRequest       写入HTTP客户端请求数据
 * http.ServerResponse      写入HTTP服务器端响应数据
 * net.Socket               读写TCP流或UNIX流,需要connection事件传递给用户
 * child.stdout             子进程标准输出
 * child.stdin              子进程标准入
 * Gzip、Deflate、DeflateRaw  数据压缩
 *
 * 写入数据触发事件:
 * drain            当write方法返回false时,表示缓存区中已经输出到目标对象中,可以继续写入数据到缓存区
 * finish           当end方法调用,全部数据写入完成
 * pipe             当用于读取数据的对象的pipe方法被调用时
 * unpipe           当unpipe方法被调用
 * error            当发生错误
 *
 * 写入数据方法:
 * write            用于写入数据
 * end              结束写入,之后再写入会报错;
 */

相关文章

  • fs的核心模块及方法

    fs的核心模块及方法 fs模块(http://nodejs.cn/api/)

  • Node进阶 ---- fs

    1. fs模块 在Node.js中,使用fs模块来实现所有有关文件及目录的创建、写入及删除操作。 在fs模块中,所...

  • node js(四)

    fs模块 fs概述 -在 NodeJS 中,所有与文件操作都是通过 fs 核心模块来实现的,包括文件目录的创建、删...

  • 八:Node文件系统管理

    导入:var fs = require("fs") 定义:Node.js 文件系统(fs 模块)模块中的方法均有异...

  • 经验技巧 - 收藏集 - 掘金

    node 核心模块 --fs - 前端 - 掘金fs模块是文件操作的封装,它提供了文件读取、写入、更名、删除、遍历...

  • 那些年成为node攻城狮的路(二)

    模块加载机制浅析 node中模块分为核心模块和文件模块两大类,核心模块诸如fs、http、util...,文件模块...

  • NODEJS硬实战笔记(fs)

    文件系统:通过异步和同步的方法处理文件 fs模块概述 fs方法(支持的POSIX文件方法):fs.rename:改...

  • node 读取文件,以及回调函数

    1、异步式读取文件 代码: 解析: 1.1 引入fs 文件模块 1.2 调用fs模块的readFile 方法 **...

  • nodejs-模块

    nodejs模块 一、nodejs模块分类 1.核心模块 Core Module、内置模块、原生模块 fs模块 p...

  • (三)fs文件操作模块

    fs模块用于文件的读写等操作。该模块有如下这些方法: 1、fs.stat() : 检测是文件还是目录 2、fs.m...

网友评论

      本文标题:fs的核心模块及方法

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