Code-Beispiel
Autor: Dr. Holger Schwichtenberg
Beschreibung
Die folgende Routine sucht mit der Klasse FileSearcher innerhalb des Projekts "FCL-Buch" nach Dateien mit der Extension .doc und .txt.
Programmcodebeispiele Visual Basic .NET (VB.NET)
Imports System.IO
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Beispiel zur Anwendung der Klasse FileSearcher
' (C) Holger@Schwichtenberg.de
' ============================
Module Dateisuche
Public groesse As Long
Public anz As Long
Dim File_ergebnis As ArrayList
Dim Dir_ergebnis As ArrayList
Public Sub datei_suche()
Dim s As New FileSearcher()
Dim suchliste As ArrayList
anz = 0
groesse = 0
AddHandler s.FileFound, _
AddressOf datei_gefunden
suchliste = New ArrayList()
suchliste.Add("*.doc")
suchliste.Add("*.txt")
File_ergebnis = s.Search("..", suchliste)
say("Suchergebnisse:" & File_ergebnis.Count)
say("Größe: " & groesse)
End Sub
Sub datei_gefunden(ByVal sr As FileSearchResult)
out("Datei gefunden:" & sr.name & "(" & _
sr.size & ")")
End Sub
End Module
Programmcodebeispiele CSharp (C#)
using System;
using System.Collections;
using System.IO;
namespace FCLBuch._SystemIO {
public class Samples_Dateisuche {
private long completeSize;
private ArrayList foundFiles;
private long fileCount;
public void Datei_Suche() {
FileSearcher searcher = new FileSearcher();
searcher.FileFound += new FeFileFoundEventHandler(searcher_FileFound);
this.fileCount = 0;
ArrayList suchliste = new ArrayList();
suchliste.Add("*.doc");
suchliste.Add("*.txt");
foundFiles = searcher.Search("..", suchliste);
FclOutput.PrintOutSubHeader("Gesamtergebnis:");
FclOutput.PrintOut("Suchergebnisse:" + foundFiles.Count);
FclOutput.PrintOut("Gesamtgröße: " + completeSize.ToString());
}
private void searcher_FileFound(object sender, FileFoundEventArgs e) {
FclOutput.PrintOut("Datei gefunden: " + e.FileName + "[" + e.FileSize.ToString() +"]");
this.completeSize += e.FileSize;
this.fileCount++;
}
}
}
Hinweise
Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und
PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung
von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B.
Console.WriteLine() einsetzen.
Querverweise
Liste aller Codebeispiele
Definition '.NET Framework Class Library'
.NET & Visual Studio Community Portal