Heim > Backend-Entwicklung > C++ > Wie kann ich FTP-Antworten in C# effizient für verschiedene Listenformate analysieren?

Wie kann ich FTP-Antworten in C# effizient für verschiedene Listenformate analysieren?

DDD
Freigeben: 2024-12-26 16:18:09
Original
207 Leute haben es durchsucht

How Can I Efficiently Parse FTP Responses in C# for Different Listing Formats?

FTP-Antworten mit einer flexiblen C#-Klasse analysieren

Die Verwaltung von FTP-Verbindungen kann eine komplexe Aufgabe sein, insbesondere wenn es um unterschiedliche Antwortformate geht. Um dieser Herausforderung zu begegnen, können Sie die ListDirectoryDetails-Methode von FtpWebRequest verwenden. Dies kann jedoch immer noch das Parsen und Behandeln von Variationen in den Antworten erfordern.

Parsen von Listen im DOS-/Windows-Stil

Für Einträge im DOS/Windows-Format können Sie den folgenden Code verwenden:

string pattern = @"\^(\d+-\d+-\d+\s+\d+:\d+(?:AM|PM))\s+(<DIR>|\d+)\s+(.+)$";
Regex regex = new Regex(pattern);
IFormatProvider culture = CultureInfo.GetCultureInfo("en-us");
while (!reader.EndOfStream)
{
    string line = reader.ReadLine();
    Match match = regex.Match(line);
    string s = match.Groups[1].Value;
    DateTime modified =
        DateTime.ParseExact(s, "MM-dd-yy  hh:mmtt", culture, DateTimeStyles.None);
    s = match.Groups[2].Value;
    long size = (s != "<DIR>") ? long.Parse(s) : 0;
    string name = match.Groups[3].Value;

    Console.WriteLine(
        "{0,-16} size = {1,9}  modified = {2}",
        name, size, modified.ToString("yyyy-MM-dd HH:mm"));
}
Nach dem Login kopieren

This Regex-Muster gleicht Zeitstempel, Datei-/Verzeichnisgrößen und Namen für den DOS/Windows-Stil ab.

Auflistungen im UNIX-Stil

Für Auflistungen im UNIX-Stil sollten Sie sich auf Folgendes beziehen die Antworten zum Umgang mit MLSD für FTP-Verzeichnisse.

Eine alternative Option: Modernes MLSD Befehl

Idealerweise können Sie den MLSD-Befehl nutzen, um Verzeichnislisten in einem strukturierten Format zu erhalten. Dies ist dem Parsen des für Menschen lesbaren LIST-Formats vorzuziehen. MLSD wird von vielen Bibliotheken und Tools von Drittanbietern wie WinSCP unterstützt.

Fazit

Das Parsen von FTP-Antworten kann komplex sein, aber durch die Verwendung der richtigen Tools und Techniken können Sie können eine zuverlässige Handhabung unterschiedlicher Listungsformate gewährleisten. Der Einsatz eines umfassenden Tools wie WinSCP, das sowohl MLSD als auch LIST unterstützt, kann eine robustere und erweiterbare Lösung für Ihre FTP-Verwaltungsanforderungen bieten.

Das obige ist der detaillierte Inhalt vonWie kann ich FTP-Antworten in C# effizient für verschiedene Listenformate analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage