Node.js实现在目录中查找某个字符串及所在文件

 更新时间:2014年09月03日 08:47:34   投稿:junjie   我要评论

这篇文章主要介绍了Node.js实现在目录中查找某个字符串及所在文件,文中代码简洁,而且速度相当的快,需要的朋友可以参考下

需求如下:

整个目录下大概有40几M,文件无数,由于时间久了, 记不清那个字符串具体在哪个文件,于是。强大,亮瞎双眼的Node.js闪亮登场。

windows下安装Node.js和安装普通软件毫无差别,装完后打开Node.js的快捷方式,或者直接cmd,你懂的。

创建findString.js

复制代码 代码如下:

var path = require("path");
var fs = require("fs");
 
var filePath = process.argv[2];
var lookingForString = process.argv[3];
recursiveReadFile(filePath);
 
function recursiveReadFile(fileName){
 if(!fs.existsSync(fileName)) return;
 if(isFile(fileName)){
  check(fileName);
 }
 if(isDirectory(fileName)){
  var files = fs.readdirSync(fileName);
  files.forEach(function(val,key){
  var temp = path.join(fileName,val);
            if(isDirectory(temp)) recursiveReadFile(temp);
            if (isFile(temp)) check(temp);
  })
 }
}
function check(fileName){
 var data = readFile(fileName);
 var exc = new RegExp(lookingForString);
    if(exc.test(data))
 console.log(fileName);
 
}
function isDirectory(fileName){
    if(fs.existsSync(fileName)) return fs.statSync(fileName).isDirectory();
}
function isFile(fileName){
  if(fs.existsSync(fileName)) return fs.statSync(fileName).isFile();
}
function readFile(fileName){
 if(fs.existsSync(fileName)) return fs.readFileSync(fileName,"utf-8");
}

两个参数:第一个参数为“文件夹名称” 第二个参数为“你要查找的字符串”

如图:

打印出文件路径,完事,收工。速度实在是彪悍,亮瞎双眼。。。如果采用java全文搜索,你惨了...

相关文章

  • Node.js下自定义错误类型详解

    Node.js下自定义错误类型详解

    在JavaScript里面,运行过程中的错误的类型总是被人忽略,这篇文章给大家详细介绍了如何在Node.js下自定义错误类型,对大家学习或者使用Node.js具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • Nodejs实现文件上传的示例代码

    Nodejs实现文件上传的示例代码

    这篇文章主要介绍了Nodejs文件上传的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • node文字生成图片的示例代码

    node文字生成图片的示例代码

    本篇文章主要介绍了node文字转图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Node.js中使用mongoose操作mongodb数据库的方法

    Node.js中使用mongoose操作mongodb数据库的方法

    如何利用mongoose将数据写入mongodb数据库呢?操作方法很简单,下面小编给大家分享Node.js中使用mongoose操作mongodb数据库的方法,感兴趣的朋友一起看看吧
    2017-09-09
  • 深入浅析Nodejs的Http模块

    深入浅析Nodejs的Http模块

    我们知道传统的HTTP服务器是由Aphche、Nginx、IIS之类的软件来搭建的,但是Nodejs并不需要,Nodejs提供了http模块,自身就可以用来构建服务器,下面通过本文给大家介绍Nodejs的Http模块,需要的的朋友参考下吧
    2017-06-06
  • node.js中fs文件系统目录操作与文件信息操作

    node.js中fs文件系统目录操作与文件信息操作

    本篇文章给大家详细分析了node.js中fs文件系统目录操作与文件信息操作的方法以及代码详解,需要的读者可以参考下。
    2018-02-02
  • Node.js引入UIBootstrap的方法示例

    Node.js引入UIBootstrap的方法示例

    这篇文章主要介绍了Node.js引入UIBootstrap的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 10个最优秀的Node.js MVC框架

    10个最优秀的Node.js MVC框架

    这篇文章主要为大家详细介绍了10个最优秀的Node.js MVC框架,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 详解nodejs微信公众号开发——3.封装消息响应模块

    详解nodejs微信公众号开发——3.封装消息响应模块

    上一篇文章:nodejs微信公众号开发(2)自动回复,实现了简单的关注回复。采用拼接字符串的形式,并不是很方便,这里我们将其封装承接口。
    2017-04-04
  • nodeJS实现简单网页爬虫功能的实例(分享)

    nodeJS实现简单网页爬虫功能的实例(分享)

    下面小编就为大家带来一篇nodeJS实现简单网页爬虫功能的实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论