zoukankan      html  css  js  c++  java
  • nodejs 读取文件

    一、读取文件

    文档参考地址

    1. 常用读取文件方式

    const fs = require('fs')
    const path = require('path')
    let file = path.resolve(__dirname, './file.txt')
    // 异步读取文件内容
    fs.readFile(file, { encoding: 'utf8' }, (err, data) => {
        if (err) throw err
        console.log('读取的文件内容:', data)
    })
    

    2. 语法说明

    /*
     * 异步读取文件内容,(若不存在文件,则发生异常)
     * @param file {string | Buffer | URL | integer} 文件名或文件描述符
     * @param options {Object | string}
     *          encoding {string | null}, 编码方式,默认值是 null
     *          flag {string}, 读取方式,默认值是 'r',打开文件用于读取。 
     *                         如果文件不存在,则会发生异常
     * @param callback {Function} 回调函数
     *          err {Error} 读取文件内容时抛出的错误
     *          data {string | Buffer} 读取到的文件内容
     */
    function readFile(file[, options], callback) {}
    

    备注:

    1. 若没有指定字符编码,将返回原始的 Buffer

    2. options 是字符串,则该值需是一个 字符串编码类型

    fs.readFile(file, 'utf8', (err, data) => {})
    
    1. file 是目录,在 Linux 、MacOSWindows 上会报错

    二、同步读取文件

    功能和参数与该接口的 异步 API 类似,只是参数少了 回调函数

    const fs = require('fs')
    fs.readFileSync(file[, options])
    

    三、不同写入方式

    options 里面的 flag 参数值表示不同的 文件系统标志

    这里表现为:不同的读取方式

    常用的几种方式

    1. 'a': 打开文件用于追加。如果文件不存在,则创建该文件
    2. 'a+': 打开文件用于读取和追加。如果文件不存在,则创建该文件
    3. 'as': 打开文件用于追加(在同步模式中)。如果文件不存在,则创建改文件
    4. 'r': 打开文件用于读取。如果文件不存在,则会发生异常
    5. 'r+': 打开文件用于读取和写入。如果文件不存在,则会发生异常
    6. 'w': 打开文件用于写入。如果文件不存在则创建文件,若存在则截断文件
    7. 'w+': 打开文件用于读取和写入。如果文件不存在则创建文件,若存在则截断文件

    可以点击查看更多 文件系统标志


    四、其他类似 Api

    点击查看更多
    API 详情

    fs.read(fd, buffer, offset, length, position, callback)
    fs.read(fd[, options], callback)
    fs.readSync(fd, buffer, offset, length, position)
    fs.readSync(fd, buffer[, options])
    
  • 相关阅读:
    git笔记
    微信扫码支付 php
    linux 下远程连接windows
    ubuntu15.10下搭建cordova+ionic开发环境
    Linux下磁盘分区挂载
    协议抓包分析软件
    MySQL分表的三种方法
    html5的audio实现高仿微信语音播放效果
    ThinkPHP页面跳转success与error方法
    jquery正则表达式验证(手机号、身份证号、中文名称)
  • 原文地址:https://www.cnblogs.com/linjunfu/p/12905568.html
Copyright © 2011-2022 走看看