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); } });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述