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);
    }
});
复制代码

 


相关文章
|
5月前
|
JavaScript API
深入探索fs.WriteStream:Node.js文件写入流的全面解析
深入探索fs.WriteStream:Node.js文件写入流的全面解析
|
8月前
|
Web App开发 JavaScript 前端开发
【Node系列】文件系统介绍及案例说明
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以用于构建高性能的网络应用程序。它采用事件驱动、非阻塞I/O模型,使得程序可以以高效地方式处理并发请求。
76 4
|
8月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
55 0
|
3月前
|
JavaScript Unix API
Node.js 文件系统
10月更文挑战第6天
30 2
|
8月前
|
Web App开发 JavaScript 前端开发
Node.js 文件系统操作指南
Node.js 文件系统操作指南
149 0
|
4月前
|
存储 JSON JavaScript
学习node.js十三,文件的上传于下载
学习node.js十三,文件的上传于下载
|
5月前
|
JavaScript
NodeJs——如何下载文件
NodeJs——如何下载文件
127 4
|
5月前
|
机器学习/深度学习 JavaScript
node.js实现遍历所有文件夹里面的js文件,提取所有的url
node.js实现遍历所有文件夹里面的js文件,提取所有的url
|
5月前
|
资源调度 前端开发 JavaScript
前端 nodejs 命令行自动调用编译 inno setup 的.iss文件
前端 nodejs 命令行自动调用编译 inno setup 的.iss文件
|
7月前
|
JavaScript Unix API
Node.js 文件系统
Node.js 文件系统
36 1

热门文章

最新文章