Persyaratannya adalah sebagai berikut:
Ada sekitar 40 m file di seluruh direktori, dan ada banyak file. Seiring berjalannya waktu, saya tidak ingat file mana string itu ada, jadi. Node.js yang kuat dan menyilaukan melakukan debut yang brilian.
Tidak ada perbedaan antara menginstal node.js di Windows dan menginstal perangkat lunak biasa. Setelah menginstal, buka pintasan ke Node.js, atau langsung CMD, Anda tahu.
Buat findString.js
Salinan kode adalah sebagai berikut:
var path = membutuhkan ("path");
var fs = membutuhkan ("fs");
var filepath = Process.argv [2];
var lookingForString = Process.argv [3];
Recursivereadfile (Filepath);
fungsi recursivereadfile (nama file) {
if (! fs.existsync (nama file)) kembali;
if (isFile (fileName)) {
periksa (nama file);
}
if (isDirectory (fileName)) {
var file = fs.readdirsync (nama file);
file.foreach (function (val, key) {
var temp = path.join (nama file, val);
if (isDirectory (temp))) recursivereadfile (temp);
if (isFile (temp)) periksa (temp);
})
}
}
periksa fungsi (nama file) {
var data = readFile (nama file);
var exc = regexp baru (LookingForString);
if (exc.test (data))
console.log (nama file);
}
fungsi isDirectory (fileName) {
if (fs.existsync (nama file)) mengembalikan fs.statsync (nama file) .isdirectory ();
}
fungsi isFile (fileName) {
if (fs.existsync (nama file)) mengembalikan fs.statsync (nama file) .fileMile ();
}
fungsi readfile (nama file) {
if (fs.existsync (nama file)) mengembalikan fs.readfileSync (nama file, "UTF-8");
}
Dua Parameter: Parameter pertama adalah "nama folder" dan parameter kedua adalah "string yang Anda cari"
Seperti yang ditunjukkan pada gambar:
Cetak jalur file, selesaikan pekerjaan. Kecepatannya benar -benar sengit, membutakan mata. . . Jika Anda menggunakan pencarian teks lengkap Java, Anda akan sengsara ...