使用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 获取文件的编码方式的更多相关文章

  1. eclipse实现批量修改文件的编码方式

    http://blog.csdn.net/haorengoodman/article/details/38493007 在eclipse+MyEclipse环境下,打开一个jsp文件,经常发现汉字无法 ...

  2. 如何利用eclipse实现批量修改文件的编码方式

        在eclipse+Eclipse环境下,打开一个jsp文件,经常发现汉字无法显示,右键点击查看这个文件属性,发现文件的字符编码属性为ISO-8859-1.    目前的解决方法有:1. 手工把 ...

  3. nodejs 获取文件夹中所有文件、图片 名

    //获取项目工程里的图片 var fs = require('fs');//引用文件系统模块 var image = require("imageinfo"); //引用image ...

  4. myeclipse 如何更改java jsp 等文件的编码方式

    java的编码方式: 1.window——>preference 2.General——>Workspace,右边[Text file encoding]选择编码后,点击[OK]. jsp ...

  5. nodejs获取文件信息,判断是文件或目录

    var stat = fs.statSync(filename); console.log(stat) 输出 { dev: 0, ino: 0, mode: 33206, nlink: 1, uid: ...

  6. erlang的erl文件的编码方式

    在数据源头的文件第一行加上%%coding: latin-1

  7. pycharm 2017新建文件添加编码方式等

    file->setting->Editor->File and Code Templates->Python Script 添加 #!/usr/bin/python3# -*- ...

  8. python批量修改文件内容及文件编码方式的处理

    最近公司在做tfs迁移,后面要用新的ip地址去访问tfs 拉取代码  ,所以原来发布脚本中.bat类型的脚本中的的ip地址需要更换 简单说下我们发布脚本层级目录 :每个服务站点下都会有一个发布脚本 . ...

  9. 获取txt编码方式

    在操作txt的时候,有时会出现乱码,这是因为没有使用正确的编码方式来操作txt,我们需要先获取txt的编码方式,再进行读写操作.下面是获取txt编码的方法: /// <summary> / ...

随机推荐

  1. C#四舍五入说明

    string.Format("{0:N2}", d) 与 Math.Round(d, 2).ToString() 不总是相等 string.Format("{0:N2}& ...

  2. javascript中this之说

    this是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象.不过,匿名函数的执行环境具有全局性,因此其this对象通常 ...

  3. MySQL 事务 是对数据进行操作,对结构没有影响,比如创建表、删除表,事务就不起作用

  4. 疯狂JAVA——第七章 java基础类库

    System类代表当前java程序的运行平台,程序不能创建System类的对象,System类提供了一些类变量和类方法,允许直接通过System类来调用这些类变量和类方法.

  5. 禁止直接访问ashx页面

      if (context.Request.ServerVariables["HTTP_REFERER"] == null)             {               ...

  6. svn: authentication cancelled

    从svn 下程序时用户名和密码输入正确后报如图错误! 控制台输出: svn: authentication cancelled    svn: authentication cancelled    ...

  7. phpStudy2——PHP脚本访问MySql数据库

    前言: 前边介绍了php脚本获取并打印输出html提交的数据,本文将介绍php脚本访问查询MySql数据库. 示例代码: <style> td{width:100px;}/*我的存在只为证 ...

  8. 判断RadioButtonList是否选中

    RadioButtonList有很多指示用户选择项的属性,如SelectedIndex 当该属性 = -1时表示用户没选择项SelectedItem  当该属性为null时也表示用户没选择项

  9. win下安装composer

    1.在官网上下载composer的安装程序. https://getcomposer.org/ 2.双击运行Composer-Setup.exe程序,选择你自已的php安装目录打到php.exe.   ...

  10. Nginx+Keepalived实现站点高可用[z]

    http://segmentfault.com/a/1190000002881132