最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js實(shí)現(xiàn)在目錄中查找某個(gè)字符串及所在文件

 更新時(shí)間:2014年09月03日 08:47:34   投稿:junjie  
這篇文章主要介紹了Node.js實(shí)現(xiàn)在目錄中查找某個(gè)字符串及所在文件,文中代碼簡(jiǎn)潔,而且速度相當(dāng)?shù)目?需要的朋友可以參考下

需求如下:

整個(gè)目錄下大概有40幾M,文件無(wú)數(shù),由于時(shí)間久了, 記不清那個(gè)字符串具體在哪個(gè)文件,于是。強(qiáng)大,亮瞎雙眼的Node.js閃亮登場(chǎng)。

windows下安裝Node.js和安裝普通軟件毫無(wú)差別,裝完后打開(kāi)Node.js的快捷方式,或者直接cmd,你懂的。

創(chuàng)建findString.js

復(fù)制代碼 代碼如下:

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");
}

兩個(gè)參數(shù):第一個(gè)參數(shù)為“文件夾名稱” 第二個(gè)參數(shù)為“你要查找的字符串”

如圖:

打印出文件路徑,完事,收工。速度實(shí)在是彪悍,亮瞎雙眼。。。如果采用java全文搜索,你慘了...

相關(guān)文章

  • 如何用npm命令刪除開(kāi)發(fā)項(xiàng)目中的node_modules文件夾

    如何用npm命令刪除開(kāi)發(fā)項(xiàng)目中的node_modules文件夾

    每個(gè)項(xiàng)目都會(huì)產(chǎn)生一個(gè)node_modules,每個(gè)node_modules少則幾十兆,多則幾百甚至上千兆,隨著時(shí)間的積累,維護(hù)項(xiàng)目的增加,整個(gè)項(xiàng)目目錄體積會(huì)越來(lái)越大,這篇文章主要給大家介紹了關(guān)于如何用npm命令刪除開(kāi)發(fā)項(xiàng)目中的node_modules文件夾,需要的朋友可以參考下
    2023-12-12
  • 在Express中提供靜態(tài)文件的實(shí)現(xiàn)方法

    在Express中提供靜態(tài)文件的實(shí)現(xiàn)方法

    這篇文章主要介紹了在Express中提供靜態(tài)文件的實(shí)現(xiàn)方法,將包含靜態(tài)資源的目錄的名稱傳遞給 express.static 中間件函數(shù),以便開(kāi)始直接提供這些文件,感興趣的可以了解一下
    2019-10-10
  • 詳解如何在NodeJS應(yīng)用程序中處理多個(gè)API請(qǐng)求

    詳解如何在NodeJS應(yīng)用程序中處理多個(gè)API請(qǐng)求

    NodeJS默認(rèn)是異步的,這意味著它已經(jīng)能夠同時(shí)處理多個(gè)請(qǐng)求,但它只適用于I/O操作,如HTTP請(qǐng)求、文件系統(tǒng)操作、數(shù)據(jù)庫(kù)查詢、實(shí)時(shí)聊天應(yīng)用等,在處理CPU密集型任務(wù)時(shí),可能需要很長(zhǎng)時(shí)間,這就是為什么NodeJS提供了一些我們將在下面介紹的特定包
    2023-12-12
  • Node.js之http模塊的用法

    Node.js之http模塊的用法

    這篇文章主要介紹了Node.js之http模塊的用法,對(duì)Node.js感興趣的同學(xué),可以參考下
    2021-04-04
  • Node配合WebSocket做多文件下載以及進(jìn)度回傳

    Node配合WebSocket做多文件下載以及進(jìn)度回傳

    這篇文章主要介紹了Node配合WebSocket做多文件下載以及進(jìn)度回傳功能,本文通過(guò)實(shí)例代碼效果截圖給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-11-11
  • node實(shí)現(xiàn)爬蟲(chóng)的幾種簡(jiǎn)易方式

    node實(shí)現(xiàn)爬蟲(chóng)的幾種簡(jiǎn)易方式

    這篇文章主要給大家介紹了關(guān)于node實(shí)現(xiàn)爬蟲(chóng)的幾種簡(jiǎn)易方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Ubuntu服務(wù)器上安裝Node.js的三種不同方法介紹

    Ubuntu服務(wù)器上安裝Node.js的三種不同方法介紹

    Node.js是一個(gè)強(qiáng)大的 JavaScript 運(yùn)行時(shí)環(huán)境,使開(kāi)發(fā)者能夠使用 JavaScript 創(chuàng)建服務(wù)器端應(yīng)用程序,本文將詳細(xì)介紹三種安裝 Node.js 的方法,大家根據(jù)具體需求選擇最適合的安裝方式
    2025-03-03
  • 詳解nodejs 文本操作模塊-fs模塊(五)

    詳解nodejs 文本操作模塊-fs模塊(五)

    本篇文章主要介紹了nodejs 文本操作模塊-fs模塊(五),這里再說(shuō)最后一個(gè)我看來(lái)很重要的方法,監(jiān)聽(tīng)文件或者目錄的的方法watchFile。有興趣的可以了解一下。
    2016-12-12
  • nodejs使用Express框架寫后端接口的全過(guò)程

    nodejs使用Express框架寫后端接口的全過(guò)程

    最近學(xué)習(xí)了基于前后端分離的開(kāi)發(fā)模式,我前端使用Vue框架,后端使用nodejs開(kāi)發(fā)API接口,下面這篇文章主要給大家介紹了關(guān)于nodejs使用Express框架寫后端接口的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Node.js API詳解之 V8模塊用法實(shí)例分析

    Node.js API詳解之 V8模塊用法實(shí)例分析

    這篇文章主要介紹了Node.js API詳解之 V8模塊用法,結(jié)合實(shí)例形式分析了Node.js API中V8模塊基本功能、函數(shù)、使用用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-06-06

最新評(píng)論

中阳县| 秦皇岛市| 仙居县| 长顺县| 太谷县| 台北市| 梨树县| 当雄县| 新津县| 娱乐| 平利县| 永登县| 襄汾县| 苗栗县| 同仁县| 伊宁县| 吐鲁番市| 东至县| 呈贡县| 东乡县| 台山市| 绥芬河市| 临西县| 郧西县| 静宁县| 恭城| 贺兰县| 永顺县| 安乡县| 元谋县| 苗栗市| 万安县| 恭城| 新和县| 华亭县| 怀安县| 襄樊市| 柯坪县| 湘潭县| 广东省| 唐山市|