Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menghuraikan Penyenaraian Direktori FTP dengan Cekap dalam C#?
Menghuraikan WebRequestMethods.Ftp.ListDirectoryDetails FTP Response dalam C#
Kaedah FtpWebRequest.ListDirectoryDetails membenarkan mendapatkan maklumat terperinci tentang fail dan direktori pelayan FTP. Walau bagaimanapun, menghuraikan respons daripada kaedah ini boleh menjadi mencabar kerana format yang berbeza-beza yang digunakan oleh pelayan FTP yang berbeza.
Penghuraian Tersuai untuk Format Respons Berbeza
Untuk menghuraikan respons dengan lancar, kelas C# tersuai boleh dibuat yang mengendalikan format yang berbeza. Contohnya:
string pattern = @"\s+(\d+)(\w+)(\s+|\s*\d+[^ ].+)(.*)"; Regex regex = new Regex(pattern); FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/"); request.Credentials = new NetworkCredential("user", "password"); request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()); while (!reader.EndOfStream) { string line = reader.ReadLine(); Match match = regex.Match(line); if (match.Success) { string fileName = match.Groups[4].Value.Trim(); long size = long.Parse(match.Groups[1].Value); string lastModified = match.Groups[2].Value + " " + match.Groups[3].Value; bool isDirectory = match.Groups[1].Value.StartsWith("d"); Console.WriteLine("{0}\t{1}\t{2}", fileName, lastModified, size); } }
Menggunakan Klien FTP Moden dengan Respons Boleh Dibaca Mesin
Walau bagaimanapun, adalah disyorkan untuk menggunakan klien FTP yang menyokong arahan MLSD, yang mengembalikan penyenaraian direktori dalam format yang boleh dibaca mesin. Menghuraikan respons arahan LIST yang boleh dibaca manusia harus menjadi pilihan terakhir untuk pelayan lapuk yang tidak menyokong MLSD.
Pustaka pihak ketiga seperti WinSCP .NET menawarkan fungsi klien FTP dengan sokongan untuk MLSD dan pelbagai boleh dibaca manusia format penyenaraian. Ini memudahkan proses menghuraikan penyenaraian direktori FTP.
Faedah Menggunakan Pustaka Pihak Ketiga
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Penyenaraian Direktori FTP dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!