Keperluan adalah seperti berikut:
Terdapat kira-kira 40 M dalam keseluruhan direktori, dan terdapat banyak fail Kerana ia telah lama berlalu, saya tidak dapat mengingati fail rentetan itu, jadi. Node.js yang berkuasa dan membutakan membuat penampilan sulungnya.
Memasang Node.js di bawah Windows tidak berbeza dengan memasang perisian biasa Selepas pemasangan, buka pintasan Node.js, atau terus cmd, anda tahu.
Buat findString.js
var path = require("path");
var fs = memerlukan("fs");
var filePath = process.argv[2];
var lookingForString = process.argv[3];
recursiveReadFile(filePath);
fungsi rekursifReadFile(Nama Fail){
if(!fs.existsSync(fileName)) return;
if(isFile(fileName)){
semak (Nama fail);
}
if(isDirectory(fileName)){
var files = fs.readdirSync(Nama Fail);
files.forEach(function(val,key){
var temp = path.join(Nama Fail,val);
If(isDirectory(temp)) recursiveReadFile(temp);
Jika (isFile(temp)) check(temp);
})
}
}
semak fungsi(Nama Fail){
var data = readFile(fileName);
var exc = RegExp baharu(lookingForString);
If(exc.test(data))
console.log(Nama Fail);
}
fungsi ialahDirektori(Nama Fail){
If(fs.existsSync(Nama Fail)) kembalikan fs.statSync(Nama Fail).isDirectory();
}
fungsi ialahFail(Nama Fail){
if(fs.existsSync(fileName)) return fs.statSync(fileName).isFile();
}
function readFile(fileName){
if(fs.existsSync(fileName)) return fs.readFileSync(fileName,"utf-8");
}
Dua parameter: parameter pertama ialah "nama folder" dan parameter kedua ialah "rentetan yang anda cari"
Gambar:
Cetak laluan fail, selesai, dan panggilnya sehari. Kelajuannya sungguh garang dan menyilaukan. . . Jika anda menggunakan carian teks penuh java, anda akan menghadapi masalah...