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])
    
  • 相关阅读:
    web服务之NginX介绍
    LVS介绍以及工作模式案例
    sersync 实现实时数据同步
    Java高并发20-并发包中锁原理解析(二)
    Java高并发19-并发包中锁原理解析(一)
    从零开始学VUE之VueRouter(导航守卫)
    从零开始学VUE之VueRouter(传递参数)
    从零开始学VUE之VueRouter(嵌套路由)
    从零开始学VUE之VueRouter(路由懒加载)
    从零开始学VUE之VueRouter(动态路由)
  • 原文地址:https://www.cnblogs.com/linjunfu/p/12905568.html
Copyright © 2011-2022 走看看