nodejs 获取文件的编码方式
使用nodejs获取文件夹内文件的编码方式:使用jschardet模块。
下面的代码还有问题,没有添加结束的语句,没有判断应该在哪执行res.send()。
res.send()不能放在forEach后面,因为还会调用explorer,会二次输出send,出错。
var fs = require('fs');
var jschardet = require('jschardet');
util = require('util');
path = "D:/node/temp/public";
var data = []; function explorer(path){
fs.readdir(path, function(err, files){
//err 为错误 , files 文件名列表包含文件夹与文件
if(err){
console.log('error:\n' + err);
return;
}
var a = 0; files.forEach(function(file){ fs.stat(path + '/' + file, function(err, stat){
if(err){console.log(err); return;}
if(stat.isDirectory()){
// 如果是文件夹遍历
explorer(path + '/' + file);
}else{
// 读出所有的文件
var str = fs.readFileSync(path + '/' + file);
var result = jschardet.detect(str);
var item = {};
item.filename = path + '/' + file;
item.encoding = result.encoding;
item.confidence = result.confidence;
item.source = path; console.log('编码方式:'+result.encoding+"; "+result.confidence);
console.log('文件名:' + path + '/' + file);
data.push(item);
}
}); });
});
} explorer(path);
nodejs 获取文件的编码方式的更多相关文章
- eclipse实现批量修改文件的编码方式
http://blog.csdn.net/haorengoodman/article/details/38493007 在eclipse+MyEclipse环境下,打开一个jsp文件,经常发现汉字无法 ...
- 如何利用eclipse实现批量修改文件的编码方式
在eclipse+Eclipse环境下,打开一个jsp文件,经常发现汉字无法显示,右键点击查看这个文件属性,发现文件的字符编码属性为ISO-8859-1. 目前的解决方法有:1. 手工把 ...
- nodejs 获取文件夹中所有文件、图片 名
//获取项目工程里的图片 var fs = require('fs');//引用文件系统模块 var image = require("imageinfo"); //引用image ...
- myeclipse 如何更改java jsp 等文件的编码方式
java的编码方式: 1.window——>preference 2.General——>Workspace,右边[Text file encoding]选择编码后,点击[OK]. jsp ...
- nodejs获取文件信息,判断是文件或目录
var stat = fs.statSync(filename); console.log(stat) 输出 { dev: 0, ino: 0, mode: 33206, nlink: 1, uid: ...
- erlang的erl文件的编码方式
在数据源头的文件第一行加上%%coding: latin-1
- pycharm 2017新建文件添加编码方式等
file->setting->Editor->File and Code Templates->Python Script 添加 #!/usr/bin/python3# -*- ...
- python批量修改文件内容及文件编码方式的处理
最近公司在做tfs迁移,后面要用新的ip地址去访问tfs 拉取代码 ,所以原来发布脚本中.bat类型的脚本中的的ip地址需要更换 简单说下我们发布脚本层级目录 :每个服务站点下都会有一个发布脚本 . ...
- 获取txt编码方式
在操作txt的时候,有时会出现乱码,这是因为没有使用正确的编码方式来操作txt,我们需要先获取txt的编码方式,再进行读写操作.下面是获取txt编码的方法: /// <summary> / ...
随机推荐
- C# 窗口页面卡的处理方案-异步编程委托
今天用winform做了一个小程序,主要是用于远程数据的登录采集,因为数据量非常大,到时每次点击按钮执行程序的时候界面都会出现假死状态,具体表现是无法拖动窗口,无法最小化或关闭等,只能任务管理进程结束 ...
- blat
1) 产生背景---------------------------------------------------2002年的时候,随着人类基因组项目不断推进,需要将大量ESTs(300万) 及m ...
- dubbo2.5.3升级到dobbo2.8.4(dubbox) jar
需要注意的地方: 1.pom文件中 dubbo的版本由2.5.3变为2.8.4,maven依赖如下: <dependency> <groupId>com ...
- go语言中make和new的区别
make用于内建类型(map.slice 和channel)的内存分配.new用于各种类型的内存分配. 内建函数new本质上说跟其他语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空 ...
- 第六章 图(c)广度优先搜索
- cdoj第13th校赛初赛A - AC Milan VS Juventus 【枚举】
http://acm.uestc.edu.cn/#/contest/show/54 A - AC Milan VS Juventus Time Limit: 3000/1000MS (Java/Oth ...
- linux下静默安装 weblogic12.2.1.3中间件
第一步:准备需要的安装包文件,这里注意 weblogic12.2.*需要的最低JDK版本为1.8以上 1.查看当前的镜像列表:docker images 2.运行镜像,并进入容器,这里运行基本的cen ...
- hibernate编写流程
1.加载hibernatexml配置文件 2.创建sessionFactory 3.根据sessionFactory创建session 4.开启事务 5.持久化操作 6.提交事务 7.释放资源 其中第 ...
- vmware fusion 10序列号
vmware fusion pro 10序列号 亲测可用激活 FG3TU-DDX1M-084CY-MFYQX-QC0RD
- DNA拷贝数变异CNV检测——基础概念篇
DNA拷贝数变异CNV检测——基础概念篇 一.CNV 简介 拷贝数异常(copy number variations, CNVs)是属于基因组结构变异(structural variation), ...