关于node对文件的读取
设计: 通过终端git / cmd 获取用户输入路径,然后遍历路径下所有的文件,打印输出。
因为需要命令行交互,所以引入prompt库 (https://github.com/flatiron/prompt) 。
基于node的fs模块完成。以下是代码:
var prompt = require('prompt');
var fs = require('fs');
//开启prompt
prompt.start();
// 自定义填写内容和校验
var schema = {
properties: {
'path': {
description: '文件地址',
required: 'true',
pattern: /[a-zA-Z]:(\\([a-zA-Z0-9_]+.[a-zA-Z0-9_]{1,16}))+/, // 文件 | 文件夹校验
}
}
};
const readFileSync = (dir, prefix = ' -') => {
// 获取当前目录下所有文件 + 文件夹
let files_all = fs.readdirSync(dir);
for(let i = 0; i < files_all.length; i++) {
// 获取单个文件信息
let stats = fs.lstatSync(dir + '\\' + files_all[i]);
// 判断是都为文件夹
if (stats.isDirectory()) {
// 文件夹打印
console.log(prefix + files_all[i]);
// 文件夹重读
readFileSync(dir + '\\' + files_all[i], ' ' + prefix);
} else {
console.log(prefix + files_all[i]);
}
}
}
prompt.get(schema, (err, result) => {
console.log(' 文件地址: ' + result.path);
// 开始同步读取
readFileSync(result.path);
// 结束操作,关闭prompt
prompt.stop();
});
返回结果实例:

关于node对文件的读取的更多相关文章
- node遍历文件夹并读取文件内容
var fs = require('fs'); var path = require('path');//解析需要遍历的文件夹 var filePath = path.resolve('./dist' ...
- 利用node中的内置模块fs实现对简单文件的读取 拷贝 创建等功能
1.文件的读取 我们想要根据如下一种目录生成一种json数据 代码如下 //此函苏是对目录进行读取的 //我们想要生成的是一个根据目录所创建的json数据 const fs = require(&qu ...
- Node复制文件
本人开发过程中,经常遇到,要去拷贝模板到当前文件夹,经常要去托文件,为了省事,解决这个问题,写了一个node复制文件. // js/app.js:指定确切的文件名.// js/*.js:某个目录所有后 ...
- node读写文件
结束了一天的工作和学习,今天对于自己最大的收获就是node读写文件和对callback函数有了更深一步的理解.总结一下node读写的文件的注意事项吧(注意:下面讲的是增加数据的方法): 1.我们可以封 ...
- excel to datatable (c#用NPOI将excel文件内容读取到datatable数据表中)
将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable /// <sum ...
- 条形码的应用三-----------从Excel文件中读取条形码
条形码的应用三------从Excel文件中读取条形码 介绍 上一篇文章,我向大家展示了生成多个条形码并存储到Excel文件中的一个方法.后来我又有了个想法:既然条码插入到excel中了,我可不可以从 ...
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
- [html5+java]文件异步读取及上传核心代码
html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...
- Servlet从本地文件中读取图片,并显示在页面中
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...
随机推荐
- Supervisor-进程监控自动重启
Supervisor是一个进程监控程序. 需求一:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Sup ...
- linux 下ip命令对比ifconfig命令
原文:https://linux.cn/article-3144-1.html ------------------------------------------------------------ ...
- SpringMVC案例2----基于spring2.5的注解实现
和上一篇一样,首先看一下项目结构和jar包 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmVuamFtaW5fd2h4/font/5a6L5L2T/fo ...
- USACO money packageDP
裸0/1背包,就是从各种币种里面拿来凑足N元,求最多有多种方案.用dp[i][j]表示选前i个币种凑成j的方案数量 状态转移方程: dp[i][j] = dp[i- 1][j] j < c ...
- mongoDB学习笔记——在C#中查询
1.下载安装 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动貌似有很多种,如官方提供的samus. 实现思路大都类似.这里我们用官方提供的mongo-csh ...
- js简单函数封装
//每index个字符插入一个str字符串 String.prototype.insertStrPerIndex =function(index,str){ if(this.length>ind ...
- Codeforces--630K--Indivisibility(容斥)
K - Indivisibility Crawling in process... Crawling failed Time Limit:500MS Memory Limit:65536 ...
- 【HDU 3085】 Nightmare Ⅱ
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3085 [算法] 双向BFS [代码] #include<bits/stdc++.h> ...
- 87.Ext_菜单组件_Ext.menu.Menu
转自:https://blog.csdn.net/lms1256012967/article/details/52574921 菜单组件常用配置: /* Ext.menu.Menu主要配置项表: it ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...