Maison >interface Web >js tutoriel >Node.js implémente la recherche d'une certaine chaîne et du fichier dans lequel elle se trouve dans un répertoire_node.js

Node.js implémente la recherche d'une certaine chaîne et du fichier dans lequel elle se trouve dans un répertoire_node.js

WBOY
WBOYoriginal
2016-05-16 16:37:481600parcourir

Les exigences sont les suivantes :

Il y a environ 40 Mo dans tout le répertoire, et il y a d'innombrables fichiers Parce que cela fait longtemps, je ne me souviens pas dans quel fichier se trouve la chaîne, donc. Le puissant et aveuglant Node.js fait ses débuts.

Installer Node.js sous Windows n'est pas différent de l'installation d'un logiciel ordinaire. Après l'installation, ouvrez le raccourci de Node.js, ou directement cmd, vous savez.

Créez findString.js

Copier le code Le code est le suivant :

var chemin = require("chemin");
var fs = require("fs");

var filePath = process.argv[2];
varlookingForString = process.argv[3];
récursiveReadFile(filePath);

fonction récursiveReadFile(fileName){
if(!fs.existsSync(fileName)) return;
si(isFile(fileName)){
check(fileName);
>
if(isDirectory(fileName)){
var files = fs.readdirSync(fileName);
fichiers.forEach(function(val,key){
var temp = path.join(fileName,val);
If(isDirectory(temp)) récursiveReadFile(temp);
Si (isFile(temp)) check(temp);
})
>
>
vérification de la fonction (nom du fichier) {
var data = readFile(fileName);
var exc = new RegExp(lookingForString);
Si(exc.test(data))
console.log(fileName);

>
fonction isDirectory(fileName){
If(fs.existsSync(fileName)) return fs.statSync(fileName).isDirectory();
>
function isFile(fileName){
if(fs.existsSync(fileName)) return fs.statSync(fileName).isFile();
>
fonction readFile(fileName){
if(fs.existsSync(fileName)) return fs.readFileSync(fileName,"utf-8");
>

Deux paramètres : le premier paramètre est "nom du dossier" et le deuxième paramètre est "la chaîne que vous recherchez"

Sur la photo :

Imprimez le chemin du fichier, c'est fait, et c'est fini. La vitesse est vraiment féroce et aveuglante. . . Si vous utilisez la recherche en texte intégral Java, vous aurez des problèmes...

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn