Főoldal » .NET – Keresés a fájlrendszerben

.NET – Keresés a fájlrendszerben

MEGOSZTÁS

Ha tetszett a cikk, akkor nyugodtan oszd meg ismerőseiddel, valószínű ők is örülni fognak neki.

A .NET Directory.GetFiles() metódus, valamint .NET 4.0-ban a Directory.EnumerateFiles metódus nagy mértékben megkönyíti megadott elérési úton található fájlok nevének olvasását a fájlrendszerben.

A Directory.GetFiles() metódus két string típusú paramétert, valamint egy SearchOption típusú paramétert fogad. Első paraméterben az elérési út, a másodikban a fájl nevére érvényes megkötések adhatók meg (pl.: csak szövegfájlok esetén *.txt, az “a” betűvel kezdődő fájlok esetén a*). A SearchOption típusú paraméter két értéket vehet fel:
– TopDirectoryOnly: Csak az aktuális könyvtárban végzi el a keresést.
– AllDirectories: A keresést az aktuális könyvtáron kívül az összes alkönyvtárban elvégzi. Ez az opció magában foglalja mountolt drive-ok, valamint szimbolikus linkek mentén történő keresést is.
 
A következő kódrészlet egy előre megadott könyvtárban, és annak alkönyvtáraiban megkeresi a .log kiterjesztésű fájlokat, és megjeleníti a teljes alérésiútjukat:

try 
{
  string konyvtarnev =
     @”c:\Program Files\Microsoft Visual Studio 10.0″;
  var txtFiles = Directory.GetFiles
       (konyvtarnev, “*.log”, SearchOption.AllDirectories) 
       .Select(nm => System.IO.Path.GetFullPath(nm)); ;
  foreach (string filenev in txtFiles)
  {
    txtSzoveg.Text += filenev+“\n”;
  } 
}
catch (Exception ex)

  Console.WriteLine(ex.Message);
  Console.WriteLine(ex.Message);
}

A program kimenete:
 
c:\Program Files\Microsoft Visual Studio 10.0\buildserver.txt
c:\Program Files\Microsoft Visual Studio 10.0\redist.txt
c:\Program Files\Microsoft Visual Studio 10.0
  \Common7\IDE\ItemTemplatesCache\CSharp\General
  \1033\TextFile.zip\TextFile.txt
 
Írta: Sallai Máté

MEGOSZTÁS

Ha tetszett a cikk, akkor nyugodtan oszd meg ismerőseiddel, valószínű ők is örülni fognak neki.

HOZZÁSZÓLÁS

Ha nem hagy nyugodni az, amit a cikkben olvastál, akkor nyugodtan írd meg kérdésed vagy észrevételed kommentbe. Így szerzőnk könnyen tud neked válaszolni.

Vélemény, hozzászólás?