>  기사  >  웹 프론트엔드  >  Node.js는 특정 문자열과 해당 문자열이 있는 파일을 디렉토리_node.js에 검색하는 기능을 구현합니다.

Node.js는 특정 문자열과 해당 문자열이 있는 파일을 디렉토리_node.js에 검색하는 기능을 구현합니다.

WBOY
WBOY원래의
2016-05-16 16:37:481578검색

요구사항은 다음과 같습니다.

전체 디렉터리에 40M 정도 있고, 파일도 셀 수 없이 많아서 오래되어서 어느 파일에 문자열이 들어 있는지 기억이 나지 않습니다. 강력하고 눈부신 Node.js가 데뷔합니다.

Windows에 Node.js를 설치하는 것은 일반 소프트웨어를 설치하는 것과 다르지 않습니다. 설치 후 Node.js의 바로가기를 열거나 직접 cmd를 열면 됩니다.

findString.js 생성

코드 복사 코드는 다음과 같습니다.

var 경로 = require("경로");
var fs = require("fs");

var filePath = process.argv[2];
var lookingForString = process.argv[3];
recursiveReadFile(filePath);

함수 recursiveReadFile(파일 이름){
if(!fs.existsSync(파일 이름)) return;
if(is파일(파일 이름)){
check(파일이름);
}
if(isDirectory(파일 이름)){
var 파일 = fs.readdirSync(fileName);
files.forEach(함수(val,key){
var temp = path.join(fileName,val);
If(isDirectory(temp)) recursiveReadFile(temp);
If (isFile(temp)) check(temp);
})
}
}
함수 검사(파일 이름){
var data = readFile(파일 이름);
var exc = new RegExp( lookingForString);
If(exc.test(data))
console.log(파일이름);

}
함수 isDirectory(파일 이름){
If(fs.existsSync(fileName)) return fs.statSync(fileName).isDirectory();
}
함수 isFile(파일 이름){
if(fs.existsSync(fileName)) return fs.statSync(fileName).isFile();
}
함수 readFile(파일 이름){
if(fs.existsSync(fileName)) return fs.readFileSync(fileName,"utf-8");
}

두 개의 매개변수: 첫 번째 매개변수는 "폴더 이름"이고 두 번째 매개변수는 "찾고 있는 문자열"

사진:

파일 경로를 인쇄하고 완료하고 하루를 보내세요. 속도가 정말 맹렬하고 눈이 부시네요. . . 자바 전문검색을 이용하시면 곤란합니다...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.