Hoofdstuk 2 - Les 1

Om alle drives weer te geven die op een computer zijn aangesloten kan je gebruik maken van:


foreach(DriveInfo di in DriveInfo.GetDrives())
{
Console.WriteLine("{0} ({1})", di.Name, di.DriveType);
}
Gebruik de DirectoryInfo class om door bestanden mappen te bladeren. Maak hiervoor eerst een instantie van deze class en roep dan de methodes GetDirectories() of GetFiles() aan:

DirectoryInfo dir = new DirectoryInfo(@"C:\Windows");

Console.WriteLine("Mappen:");
foreach(DirectoryInfo map in dir.GetDirectories())
{
Console.WriteLine(map.Name);
Console.WriteLine("\\nFiles");
foreach(FileInfo bestand in dir.GetFiles())
{
Console.WriteLine(bestand.Name);
}
}

Maak voor het aanmaken van mappen gebruik van de Create method. Voor het nagaan of de map bestaat maak gebruik van de Exists methode. Beide methods zijn niet static.

Om bestanden te maken, te verwijder, te kopieëren en te verplaatsen maak dan gebruik van de static methods File.Create(), File.Delete, File.Copy en File.Move().

Met de FileSystemWatcher class kan er worden gereageerd op het moment dat bestanden worden aangemaakt, worden gewijzigd, of de naam ervan wordt aangepast. Om dit te bewerkstelligen moet een instantie worden gemaakt van deze class en moet in de constructor het pat worden opgegeven dat moet worden gemonitord. Zet vervolgens de juiste properties om subdirectories of bepaalde bestanden te monitoren. Maak vervolgens een method die moet wordt aangeroepen door een event. Vergeet niet de property FileSystemWatcher.EnableRaisingEvent op true te zetten:

FileSystemWatcher fsw = new FileSystemWatcher(@"Mijn documenten"); // werkt niet, maar is bedoeld als voorbeeld
// Zet de eigenschappen.
fsw.IncludeSubdirectories = true;
fsw.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite;

// Event handler
fsw.Changed += new FileSystemEventHandler(fsw_Changed);

// Start met monitoren
fsw.EnableRaisingEvents = true;

// Handel event af
static void fsw_Changed(object sender, FileSystemEventArgs)
{
Console.WriteLine(e.ChangeType + ": " + e.FullPath);
}
Om te reageren op het moment dat een bestand wordt hernoemd moet gebruik worden gemaakt van de bijbehorende event:

static void fsw_Renamed(object sender, RenamedEventArgs e)
{
Console.WriteLine(e.ChangeType + " from " + e.OldFullPath + " to "+ e.Name);
}

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren