HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Szöveg keresése TEXT állományokban


Példaprogram letöltése

7936 bájt

Készítünk egy programot, amely segítségével egy megadott szöveget kereshetünk meg TEXT típusú állományokban. Meg kell adnunk a keresendő szöveget, a vizsgálandó állományok kiterjesztését, valamint egy könyvtárat, amelyben keresni szeretnénk. A komponens végignézi a megadott könyvtárban és annak alkönyvtáraiban található állományokat. Ha egy állományban megtalálja a keresett szövegrészt, akkor feljegyzi az állomány nevét és a találatok számát.

A program magja egy rekurzív függvény, a ScanDir. A függvény csak akkor működik rekurzívan, ha a checkBox1.Checked értéke igaz.
private void ScanDir(string dir)
A paraméterben kapott könyvtár alkönyvtárait a Directory osztály GetDirectories függvényével kérdezhetjük le. Eredményül egy sztring tömböt kapunk.
string[] directories = Directory.GetDirectories(dir);
Ha a checkBox1.Checked igaz és vannak további alkönyvtárak, akkor rekurzió következik.
for (int i = 0; i < directories.Length; i++)
  ScanDir(directories[i]);
A könyvtár állományait a GetFiles függvénnyel kérdezhetjük le.
string[] files = Directory.GetFiles(dir);
Csak azokkal az állományokkal foglalkozunk, amelyek kiterjesztése megfelelő. Ezt az alábbi módon ellenőrizhetjük le.
if (Path.GetExtension(files[i]) == textBox2.Text)
Ha a kiterjesztés megfelelő, akkor az állomány tartalmát beolvassuk egy sztring változóba.
Stream st = File.Open(files[i], FileMode.Open);
StreamReader sr = new StreamReader(st);
string s = sr.ReadToEnd();
st.Close();
A beolvasott sztringen végigmegyünk, karakterenként. Mindig beolvasunk annyi számú karakter, amekkora a textBox3.Text.Length értéke. Ha a két sztring egyezik, akkor feljegyezzük az állomány nevét. Egy állomány nevét csak egyszer írjuk a listába.
A sztringek összehasonlításánál ügyelnünk kell arra, hogy a kis- és nagybetűk különbségeit áthidaljuk.
if (textBox3.Text.ToLower() == sub.ToLower())

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 160. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |