ข้อกำหนดมีดังนี้:
มีไฟล์ประมาณ 40 เมตรในไดเรกทอรีทั้งหมดและมีไฟล์นับไม่ถ้วน เมื่อเวลาผ่านไปฉันจำไม่ได้ว่าไฟล์สตริงอยู่ในนั้น Node.js ที่ทรงพลังและทำให้ไม่เห็นได้เปิดตัวที่ยอดเยี่ยม
ไม่มีความแตกต่างระหว่างการติดตั้ง node.js ใน Windows และการติดตั้งซอฟต์แวร์สามัญ หลังจากติดตั้งให้เปิดทางลัดเป็น node.js หรือ cmd โดยตรงคุณรู้
สร้าง findString.js
การคัดลอกรหัสมีดังนี้:
var path = ต้องการ ("เส้นทาง");
var fs = ต้องการ ("fs");
var filepath = process.argv [2];
var forstring = process.argv [3];
RecursivereadFile (FilePath);
ฟังก์ชัน RecursiverEadFile (ชื่อไฟล์) {
if (! fs.existssync (ชื่อไฟล์)) กลับ;
if (isfile (ชื่อไฟล์)) {
ตรวจสอบ (ชื่อไฟล์);
-
if (iSdirectory (ชื่อไฟล์)) {
var files = fs.readdirsync (ชื่อไฟล์);
files.foreach (ฟังก์ชัน (val, key) {
var temp = path.join (ชื่อไฟล์, val);
ถ้า (ISDIRECTORY (TEMP))) RecursiverEadFile (TEMP);
ถ้า (isfile (temp)) ตรวจสอบ (อุณหภูมิ);
-
-
-
ตรวจสอบฟังก์ชั่น (ชื่อไฟล์) {
var data = readfile (ชื่อไฟล์);
var exc = new regexp (มองหา string);
if (exc.test (data))
console.log (ชื่อไฟล์);
-
ฟังก์ชั่น iSdirectory (ชื่อไฟล์) {
ถ้า (fs.existssync (ชื่อไฟล์)) ส่งคืน fs.statsync (ชื่อไฟล์) .isdirectory ();
-
ฟังก์ชั่น isfile (ชื่อไฟล์) {
ถ้า (fs.existssync (ชื่อไฟล์)) ส่งคืน fs.statsync (ชื่อไฟล์) .isfile ();
-
ฟังก์ชั่น readfile (ชื่อไฟล์) {
ถ้า (fs.existssync (ชื่อไฟล์)) ส่งคืน fs.readfilesync (ชื่อไฟล์, "UTF-8");
-
พารามิเตอร์สองพารามิเตอร์: พารามิเตอร์แรกคือ "ชื่อโฟลเดอร์" และพารามิเตอร์ที่สองคือ "สตริงที่คุณกำลังมองหา"
ดังที่แสดงในภาพ:
พิมพ์เส้นทางไฟล์เสร็จสิ้นการทำงาน ความเร็วนั้นดุเดือดจริงๆทำให้ดวงตาไม่เห็น - - หากคุณใช้การค้นหาข้อความแบบเต็ม Java คุณจะน่าสังเวช ...