• egg(二十):fs读取本地的txt文件


    前言:

            fs读取本地的txt文件。

    实现效果:

     实现步骤:

    安装fs模块

    npm i  fs --save

    utf-8 的txt文件读取

    1、router.local.js

    1. module.exports = app => {
    2. const { router, controller, middleware } = app;
    3. router.get("/getTxtXiaoshuo", controller.testApi.fsxiaoshuo.getTxtXiaoshuo);
    4. }

    2、controller/testApi/fsxiaoshuo.js

    fs.readFile(地址,格式,回调函数)

    fs.readFileSync('hello.txt',{flag:'r',encoding:'utf-8'})   //utf-8  格式

    1. const Controller = require('egg').Controller;
    2. class FsXiaoShuoController extends Controller {
    3. async getTxtXiaoshuo(ctx) {
    4. const requestPromise = new Promise((resolve, reject) => {
    5. //fs.readFile(地址,格式,回调函数)
    6. fs.readFile('D:\\1.txt',function (err,data) {
    7. console.log('拿到数据了:')
    8. if(err){
    9. return resolve({
    10. code:400,
    11. data:err
    12. })
    13. }else{
    14. return resolve({
    15. code:200,
    16. data:data
    17. })
    18. }
    19. })
    20. })
    21. })
    22. const result = await requestPromise;
    23. ctx.body = result
    24. }
    25. }
    26. module.exports = FsXiaoShuoController;

    gb2312 格式的txt文件读取

     1、router.local.js

    1. module.exports = app => {
    2. const { router, controller, middleware } = app;
    3. router.get("/getTxtXiaoshuo", controller.testApi.fsxiaoshuo.getTxtXiaoshuo);
    4. }

    2、安装插件(gb2312 必须有的)

    npm install iconv-lite

    3、controller/testApi/fsxiaoshuo.js

    fs.readFile(地址,格式,回调函数)

    1. const Controller = require('egg').Controller;
    2. class FsXiaoShuoController extends Controller {
    3. async getTxtXiaoshuo(ctx) {
    4. const requestPromise = new Promise((resolve, reject) => {
    5. //fs.readFile(地址,格式,回调函数)
    6. fs.readFile('D:\\1.txt',function (err,data) {
    7. console.log('拿到数据了:')
    8. if(err){
    9. return resolve({
    10. code:400,
    11. data:err
    12. })
    13. }else{
    14. let content = iconv.decode(data, 'GB2312').toString();
    15. return resolve({
    16. code:200,
    17. content
    18. })
    19. }
    20. })
    21. })
    22. })
    23. const result = await requestPromise;
    24. ctx.body = result
    25. }
    26. }
    27. module.exports = FsXiaoShuoController;

  • 相关阅读:
    从零搭建开发脚手架 顺应潮流开启升级 - SpringBoot 从2.x 升级到3.x
    港科夜闻|香港科技大学颁授荣誉大学院士予五位杰出人士
    程序员必知必会的TCP/IP,业内大佬给讲明白了
    【算法系列】非线性最小二乘-高斯牛顿法
    Git同时配置Gitee和GitHub
    图注意力和序列图模型
    Java方法参数传递的底层分析
    HTML5 Canvas 绘图教程二
    【嵌入式C语言】8.函数
    Buffered字节处理流
  • 原文地址:https://blog.csdn.net/weixin_44727080/article/details/126224974