요구 사항은 다음과 같습니다.
전체 디렉토리에는 약 40m의 파일이 있으며 수많은 파일이 있습니다. 시간이 지남에 따라 문자열이 어떤 파일에 있는지 기억할 수 없습니다. 강력하고 눈을 멀게하는 Node.js는 훌륭한 데뷔를했습니다.
Windows에 Node.js를 설치하는 것과 일반 소프트웨어 설치에는 차이가 없습니다. 설치 후 바로 가기를 Node.js 또는 직접 CMD로 열면 알고 있습니다.
findstring.js를 만듭니다
코드 사본은 다음과 같습니다.
var path = 요구 ( "경로");
var fs = 요구 ( "fs");
var filepath = process.argv [2];
var lookingforstring = process.argv [3];
재귀 부드러운 파일 (Filepath);
함수 재귀 recursivereadfile (filename) {
if (! fs.existsSync (filename)) retoy;
if (isfile (filename)) {
확인 (파일 이름);
}
if (isdirectory (filename)) {
var files = fs.readDirsync (filename);
files.foreach (function (val, key) {
var temp = path.join (filename, val);
if (isdirectory (temp))) 재귀 (temp);
if (isfile (temp)) check (temp);
})
}
}
함수 점검 (filename) {
var data = readfile (filename);
var exc = new regexp (LookingForstring);
if (exc.test (data))
Console.log (Filename);
}
함수 isdirectory (filename) {
if (fs.existssync (filename)) return fs.statsync (filename) .isdirectory ();
}
기능 isfile (filename) {
if (fs.existssync (filename)) return fs.statsync (filename) .isfile ();
}
함수 readfile (filename) {
if (fs.existssync (filename)) return fs.readfilesync (filename, "utf-8");
}
두 가지 매개 변수 : 첫 번째 매개 변수는 "폴더 이름"이고 두 번째 매개 변수는 "원하는 문자열"입니다.
그림과 같이 :
파일 경로를 인쇄하고 작업을 완료하십시오. 속도는 정말 치열하여 눈을 맹목적입니다. . . Java 전문 검색을 사용하면 비참해질 것입니다 ...