• node基础:文件系统-文件读取


    node的文件读取主要分为同步读取、异步读取,常用API有fs.readFile、fs.readFileSync。还有诸如更底层的fs.read,以及数据流(stream),后面再总结下咯~

    直接上简单的demo,看下同步/异步接口的调用时的区别,以及分别对应的异常处理方式。

    至于API说明,可参考node官方文档

    /**
     * 文件读取demo,by 程序猿小卡
     */
    var fs = require('fs');
    
    /** 文件同步读取 */
    
    // 没有声明encoding,所以返回的是buffer(二进制数据)
    var bufferStr = fs.readFileSync('test.txt');
    console.log(bufferStr);  // 输出 <Buffer 68 65 6c 6c 6f 0a>
    
    // 声明了encoding,所以返回的是普通字符串
    var str = fs.readFileSync('test.txt', {
        encoding: 'utf-8'
    });
    console.log(str);  // 输出 hello
    
    // 文件读取异常处理:通过try、catch
    try{
        var errStr = fs.readFileSync('noneExist.txt');
    }catch(err){
        console.log(err.message);  // 输出 ENOENT, no such file or directory 'noneExist.txt'
    }
    
    
    /** 文件异步读取 */
    
    // 无声明encoding
    fs.readFile('test.txt', function(err, data){
        if(err){
            console.log('文件读取失败');
        }else{
            console.log(data);  // 输出 <Buffer 68 65 6c 6c 6f 0a>
        }
    });
    
    // 声明了encoding
    fs.readFile('test.txt', {encoding: 'utf-8'}, function(err, data){
        if(err){
            console.log('文件读取失败');
        }else{
            console.log(data);  // 输出 hello
        }
    });
    
    // 异常处理
    fs.readFile('noneExist.txt', {encoding: 'utf-8'}, function(err, data){
        if(err){
            console.log('文件读取失败');  // 输出 文件读取失败
        }else{
            console.log(data);
        }
    });
  • 相关阅读:
    交叉编译qt5.4.1遇到的错误
    qt5.4.1官网上找不到
    Runtime dependency gstreameraudio1.0 found: NO (tried pkgconfig and cmake)
    gstreamer库 ubuntu下安装
    gstreamer编译错误
    gstreamer在ubuntu上源码编译
    http学习
    SQL定义变量
    对w3wp.exe的一点认识!
    官方发布!DevExpress WPF 2022年产品升级路线图
  • 原文地址:https://www.cnblogs.com/chyingp/p/node-guide-file-read.html
Copyright © 2020-2023  润新知