首页 > 编程语言 >nodejs实现合并文件

nodejs实现合并文件

时间:2023-08-17 15:34:53浏览次数:45  
标签:文件 fs filesList nodejs 合并 item path var const

nodejs实现递归读取文件并合并成一个

var fs = require("fs");
var path = require("path");

function readFileList(dir, filesList = []) {
  const files = fs.readdirSync(dir);
  // console.log(files);

  files.forEach((item, index) => {
    var fullPath = path.join(dir, item);
    const stat = fs.statSync(fullPath);
    if (stat.isDirectory()) {
      readFileList(path.join(dir, item), filesList); //递归读取文件
    } else {
      const reg = /.md/;
      reg.test(fullPath) && filesList.push(fullPath);
    }
  });
  return filesList;
}

var filesList = [];

readFileList("./test", filesList);

fs.writeFile("README.md", "", () => {}); //先清空

for (const item of filesList) {
  let content = fs.readFileSync(item, "utf-8");
  console.log(content);
  fs.appendFile("README.md", content, () => {});
}

标签:文件,fs,filesList,nodejs,合并,item,path,var,const
From: https://www.cnblogs.com/sclweb/p/17637709.html

相关文章

  • 如何去除UNIX系統下文件中的换行符^M
        因操作系统的差异,在Windows系统编辑文件时的换行符是CRLF,而在Unix系统(包括AIX、LINUX)编辑文件时的换行符为LF,当把在Windows系统编辑的文件传送到Unix系统上后,查看文件会发现每行后面多了一个^M符号,这个有可能会导致在执行某些脚本时出现问题,那么该如何解决呢?1、当需要......
  • 3分钟学会Python 常用配置文件处理
    一:配置文件1.什么是配置文件配置文件是为程序配置参数和初始设置的文件。一般为文本文件,以ini,conf,cnf,cfg,yaml等作为后缀名。例如mysql的配置文件my.cnf内容如下:[mysqld]#Onlyallowconnectionsfromlocalhostbind-address=0.0.0.0mysqlx-bind-address=127.0.0.......
  • 管理文件和目录4(Ubuntu)
    一:确定文件类型 使用file命令可以确定文件的类型。在Linux中文件的扩展名(后缀)并不能道标文件的类型,因此在你打开一个文件之前,需要确定这个文件的类型。对于长度为0的文件file命令将识别为空文件。 格式:file[选项]文件名或者目录名file命令常见的选项如下表:选项说明-b显示......
  • 利用队列的内置模块(deque)模拟 Linux 下的 tail 命令(输出文件中最后几行的内容)
    博客地址:https://www.cnblogs.com/zylyehuo/#-*-coding:utf-8-*-fromcollectionsimportdequedeftail(n):#n:指定输出文件中最后几行withopen('test.txt','r')asf:q=deque(f,n)returnqforlineintail(5):print......
  • wiki.js 快速导入文件
    简介:wiki.js是我最近在部署的一个知识库系统,为了提升使用效果,我使用了ela做搜索引擎,配置了ik分词工具,配置了git存储库,还使用了ldap登录验证。那么快速批量上传文档,是我现在面临的问题,好在wiki.js已经有了解决方案。本文主要记录配置调试git批量上传文档的工作。一:git配置在wi......
  • Nginx文件名逻辑漏洞复现CVE-2013-4547
    Nginx文件名逻辑漏洞复现CVE-2013-4547前置知识本次针对的是中间件NginxNginx是什么?Nginx(发音为“engine-x”)是一个高性能的开源Web服务器软件。它以异步事件驱动的方式处理客户端请求,具有占用资源少、处理并发连接能力强和稳定性高等特点。Nginx还可以用作反向代理服务器......
  • 关于Electron版本和NodeJS版本的关系
    关于Electron的介绍,可以查看官方文档Electron官方文档使用Electron进行开发时,本地必须安装Node运行环境(官方推荐安装长期支持(LTS)的版本)本地安装的Node的版本,和Electron程序运行所需要的版本没有关系。例如:使用Electron14.0.0版进行开发时,运行所需要的Node版本是14.17.0,这时候......
  • vxe-table合并行后错位
    使用vxe-table的属性:span-method合并行,之后下拉后会错位   原因:缺少配置:scroll-y="{enabled:false}" ......
  • 文件包含
    文件包含漏洞一、漏洞描述定义:使用函数去包含任意文件的时候,当包含的文件来源过滤不严谨的时候,当存在包含恶意文件后,就可以通过这个恶意的文件来达到相应的目的。原理:程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这......
  • 删除windows版Adobe Photoshop (Btea)的Creative Cloud Files文件夹快捷方式
    计算机\HKEY_USERS\S-1-5-21-3673781915-3232438367-201350203-500\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace我的电脑是win11,其中的S-1-5-21-3673781915-3232438367-201350203-500可能有变化,其他的都是一样的,{0E270DAA-1BE6-48F2-AC49-A60F94A42F2......